如果ListView中的Item的View中存在CheckBox、Button等,会导致ListView.setOnItemClickListener失效。
原 因
如果ListView的Item中有Button或者Checkable的子类控件,那么默认focus是交给了子控件,所以ListView的Item获取不到Focus。
解决方法
①把Item中能够获取到focus的控件的focusable的属性都设置为false
android:focusable="false"
②把Item的布局的根节点设置descendantFocusability属性值为blocksDescendants
android:descendantFocusability="blocksDescendants"