(Android)在List Item中设置Button并分别响应点击

问题:用Cursor传入数据,CursorAdapter根据数据填充ListView,ListView的每个List Item都可以点击。并且List Item包含一个Button,该Button也要对点击动作做出响应。(List Item 和它包含的Button的点击反馈不同)

给一个 ListView 设置 OnItemClickListener 之后,如果再设置 Button并设置OnClickListener,那么Listview不会响应点击动作。解决这个问题的办法很简单,添加一行代码即可。

myButton.setFocusable(false);

但是还有一个问题。当我们使用Cursor来传入数据,并由Adapter填充内容时,Cursor指向的始终是最新一行数据的位置,这会导致点击所有Button改变的都是最新一行的数据。为了解决这个问题,使用Tag来保存初始化Button时Cursor指向的位置,然后在onClick方法中获取Tag,就可以使Cursor指向正确的对应位置。

注意由于Button会在inner class中使用,所以必须声明final。


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值