概述
如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView 的Item能被选中的基础是它能获取Focus,也就是说如果你的自定义ListVIEwItem中有button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListVIEw 的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListVIEw中Item中包含的所有控件的focusable属性设置为 false,这样的话ListVIEw的Item自动获得了Focus的权限,也就可以被选中了
我们可以通过对Item Layout的根控件设置其androID:descendantFocusability=”blocksDescendants”即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,不需要针对Item Layout中的每一个控件重新设置focusable属性了,如此就可以顺利的响应onItemClickListener中的 onItemClick()方法了。
还有一种情况,如果Item 的根 Layout设置了 androID:clickable="true" 也没法响应onItemClick方法
总结
以上是编程之家为你收集整理的Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案全部内容,希望文章能够帮你解决Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。