解决ListView的onitemclick事件无法响应

ListView 是在实际开发中经常用到,所以对它的事件响应也很多,如onitemclick 、 OnItemLongClick等,有时候item中也有一些点击事件,那么这些事件可能会有冲突导致有些事件无法响应。以下是开发中遇到的实际问题。

1 、

1.jpg

当时已经给listview设置了 onitemclick 事件,但是还需要给item中的闹钟图标添加一个点击事件,可是设置以后发现闹钟的onclick事件无法响应,最后在网上查到解决方法,需要给item的layout文件中的根元素添加 focusable = false ;

2

2.jpg

这是另外一个问题, 恰好和1 情况相反, 最先是给item中的一个图标设置了点击事件,但是再给listview设置onitemclick事件时却没有反应,最终的解决方法是在item的layout文件根节点添加:android:descendantFocusability="blocksDescendants"
我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,如此就可以顺利的响应onItemClickListener中的onItemClick()方法了。

转载于:https://www.cnblogs.com/hudabing/archive/2013/06/06/3121356.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值