今天一大早就遇到一个问题,我的ListView的Item点击事件突然无响应了,问题是在我在ListView中加入了ImageButton后就出现了。我一想应该是聚焦冲突造成的,然后就开始了我的google大计,果然是由于聚焦冲突造成的,也找到了方法。方法有两种:
方法一:
在ListView中的子组件中设置聚焦为false:
android:focusable="false"
方法二:
这个方法适用 于item中也有获取事件的控件的情况。例如item布局里面有button,checkbox等需要处理点击事件,listview也要处理itemonclicklistener事件的情况。
在ListView的item布局文件中的根控件中设置(而我的根控件是LinearLayout,所以我是在LinearLayout中加入以下属性设置,我采取的也是这种方法):
android:descendantFocusability="blocksDescendants"
至此,问题解决。