在修改短信查看单个彩信图片时,发现是无法点击其中的Item,具体的看图吧,图片比较生动形象。
在上图中,我们可以看见一个ViewGroup中包含了MmsPlayerActivityItem,MmsPlayerActivityItem中可以看到ImageView和TextView,现在的问题就是,点击图片没有任何反应,就是不能单独的查看此图片。
原因:
因为textView是一个可点击事件,clickable = true,所以它导致MmsPlayerActivityItem中mListView.setOnItemClickListener{}没有点击事件
修改方案:
MmsPlayerActivityItem在获得焦点的时候,把MmsPlayerActivityItem的根布局的属性设置为android:descendantFocusability=“blockDescendants”
【根布局本身就是一个viewGroup】
<com.android.mms.ui.MmsPlayerActivityItem xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
>
........
这样就可以单独的点击图片,并且把它打开。
官方解释:
-
blocksDescendants
viewgroup会覆盖子类控件而直接获得焦点