ListView 中设置setonitemclicklistener()监听时,无法获取item条目的点击事件焦点

问题概括 :   ListView 中item条目中存在Button、CheckBox等控件时,设置setonitemclicklistener()时,无法获取item条目的点击事件焦点

主要是由于这些控件(Button、CheckBox等控件)获取焦点的权值会比 ListView 的item的权值高,所以点击事件先被这些控件捕获了,所以ListView的item的点击事件就失效了。


解决方案:1、如果希望item的点击事件有效且Button、CheckBox等控件的点击、勾选等事件也有效,并且两事件不会冲突:将Button、CheckBox等控件的

android:focuable="false"。

    2、如果仅希望item的点击事件有效,则将将Button、CheckBox等控件的android:focusable="false",android:clickable="false",

                                                                                                                                                    android:focusableInTouchMode="false"。(其中focusable是关键)      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值