博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ListActivity的CheckBox点击事件
阅读量:6006 次
发布时间:2019-06-20

本文共 688 字,大约阅读时间需要 2 分钟。

在一个ListActivity中,可能有很多行,如何在某个动作(如点击某个按钮)时判断哪些行的CheckBox被选中了,哪些行的CheckBox没有被选中,这是一个需要解决的问题。

首先,需要让BaseAdapter的子类implements OnClickListener,然后在该类的getView()方法中添加以下代码:

  CheckBox chk_item = (CheckBox) my_item.chk_apk;
  chk_item.setOnClickListener(this);
  chk_item.setTag(position);

获得CheckBox,再setOnClickListener。setTag()方法非常有用,记录了当前的CheckBox是第几行的CheckBox。

onClick()方法如下:

public void onClick(View v) {
  CheckBox c = (CheckBox) v;
  int pos = Integer.parseInt(v.getTag().toString());
  list_data.get(pos).is_chk = c.isChecked();
}

由于只有CheckBox有setOnClickListener,所以就不用判断View的类型了,直接转换成CheckBox。getTag()方法获得了该CheckBox在第几行,从而可以记录这一行CheckBox的选中状态。

最后,只要遍历list_data里面所有元素的is_chk值,就可以判断哪些行被选中,哪些行没有被选中。

转载地址:http://arsmx.baihongyu.com/

你可能感兴趣的文章
Chair:支付宝前端团队推出的Node.js Web框架
查看>>
《Total Commander:万能文件管理器》——第3.8节.后续更新
查看>>
BSD vi/vim 命令大全(下)[转]
查看>>
css3中变形与动画(一)
查看>>
[XMove-自主设计的体感解决方案] 系统综述
查看>>
【LINUX学习】磁盘分割之建立primary和logical 分区
查看>>
【YUM】第三方yum源rpmforge
查看>>
IOS(CGGeometry)几何类方法总结
查看>>
才知道系列之GroupOn
查看>>
⑲云上场景:超级减肥王,基于OSS的高效存储实践
查看>>
linux kswapd浅析
查看>>
变更 Linux、Ubuntu 时区、时间
查看>>
mac的git的21个客户端
查看>>
Spring Cloud自定义引导属性源
查看>>
[共通]手机端网页开发问题及解决方法整理
查看>>
我的友情链接
查看>>
${basePath}
查看>>
linux命令之uniq简单用法
查看>>
使用Eclipse调试Java程序的10个技巧
查看>>
Hive分桶表
查看>>