关闭

ListView 不响应OnItemClickListener 的解决方案

103人阅读 评论(0) 收藏 举报
分类:

 

   问题描述: 在listview 的item中如果有button checkBox 或者checkable的子类控件的时候,就会出现OnItemClickListener 不响应的情况。

原因是listView 的item优先获取到了焦点。

解决方案:

在listView 的item 的根控件设置其Android:descendantFocusability="blocksDescendants"属性;

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

属性的值有三种:

        beforeDescendants:viewgroup会优先其子类控件而获取到焦点

        afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

        blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

网上其他资料说只要设置这一属性就可以解决,BZ试了并没有解决(虽然理论上是可以解决)。

最后我在代码中加入了以下代码得以解决,不管为什么,加上这些能解决就好

android:focusable="false"
        android:focusableInTouchMode="false"
        android:clickable="false"

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:29820次
    • 积分:516
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:3篇
    • 译文:0篇
    • 评论:11条
    最新评论