ListView不响应OnItemClickListener的解决方案

一般会导致这个问题的原因是因为在自定义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会覆盖子类控件而直接获取焦点
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,774评论 25 709
  • 长乐溪在走出峡谷之后,在这里转了一个弯,湍急的溪流顿时变得舒缓开阔,这一道溪流把两岸的往来隔开了。在...
    归农阅读 636评论 0 1
  • 2016-12-12 鱼家乐 无名小镇 我们总希望能获得各种各样的技能,怎么样才能习得呢?“思考”和“践行”,非常...
    鱼家乐阅读 468评论 0 0
  • 有其人,束手无策,求援于某。 你批判别人穷凶极恶,散尽良知。 别人却笑你单纯蒙昧,死板无知。 欢脱是一个值得玩味的...
    清卑笑阅读 221评论 0 0