码迷,mamicode.com
首页 > 移动开发 > 详细

Android listview中使用button解决方法

时间:2015-02-05 11:29:49      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:android   listview   button   

其实很多东西不是粘贴代码就能解决的,做任何事都要用心做,这样才能晚上睡觉睡得比较踏实.

当你粘贴别人的代码,有时候出bug真的很烦,可是当你明白点原理的时候,能看出问题的实质,解决起来也很得心应手,开始今天的主题.当你的看到这个问题时,你应该知道问题出在哪里了,在listview中使用button(当然不只是button,还有imagebutton等自身响应点击的view),问题出现了,你会发现listview中的item不能点击了,具体是因为什么呢?大多数原因是抢焦点,button抢占了item的焦点使得item无法响应点击事件,那如何解决呢?今天的第一个主角(descendantFocusability)就要闪亮登场了...

android:descendantFocusability有三个值,分别是:beforeDescendants,afterDescendants,blocksDescendants

技术分享

1.android:descendantFocusability="beforeDescendants"这句的意思就是说listview的item先拿到焦点

2.android:descendantFocusability="afterDescendants"只有button不需要焦点时item才能拿到焦点

3.android:descendantFocusability="blocksDescendants"item覆盖button直接拿到焦点

看到这三条属性的作用你应该知道怎么解决了吧,listview和button出现抢焦点时我一般使用使用第三条,然后在adapter写button的onclick事件,这样大家谁都不惹谁,和平相处.

Android listview中使用button解决方法

标签:android   listview   button   

原文地址:http://blog.csdn.net/elinavampire/article/details/43523635

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!