美文网首页
ListView不响应OnItemClickListener的解

ListView不响应OnItemClickListener的解

作者: 小木桨 | 来源:发表于2016-04-28 17:18 被阅读68次

一般会导致这个问题的原因是因为在自定义Listview Item时,Item中含有Button、CheckBox、RadioButton等控件,ListView默认会把Touch事件交给这些子控件,如果Touch事件被子控件消费了,ListView自然就无法触发OnItemClickListener事件。
解决这个问题可以通过设置 android:descendantFocusability=blocksDescendants属性来强制获取焦点即可。

android:descendantFocusabilit有三个属性值:

Constant value description
beforeDescendants 0 Viewgroup会优先其子类控件获取焦点
afterDescendants 1 Viewgroup只有当子类控件不需要获取焦点时才获取焦点
blocksDescendants 2 Viewgroup会覆盖子类控件而直接获取焦点

相关文章

网友评论

      本文标题:ListView不响应OnItemClickListener的解

      本文链接:https://www.haomeiwen.com/subject/cdrhrttx.html