CheckBox与Listview的关联使用

1 CheckBox与Listview关联使用的经典逻辑代码:

第一步:想要CheckBox与Listview中的Item结合,首先需要点击item时,CheckBox也有响应,因此屏蔽item中checkbox的点击事件,处理事件的任务交给item.

如下图:

第二步:绑定CheckBox与item

代码如下:

如图所示,静态变量 isSelected为绑定并控制checkbox与item的变量。其中,Integer代表的是Item在listview中的下标,Boolean代表着对应item中checkbox的状态。当adapter在创建的时候,就通过initDate()方法初始化isSelected,默认所有的checkbox的状态为false(未选中状态)。

第三步:

通过在adapter中添加如上方法,可以让Listview所在的类来获得isSelected变量,并在listview的onItemClick()方法中设置isSelected中checkbox的状态属性,从而关联checkbox。

关键代码如下:

其中参数:arg2为onItemClick(AdapterView<?> arg0, View arg1, int arg2,  long arg3)中的arg2,表示为listview中item的下标。

holder为通过ViewHolder holder = (ViewHolder) arg1.getTag();得到的item对应的viewholder。

第四部:设置全选、反选等功能。

代码如下:

通过在adapter中添加此方法,可以实现该功能。具体方法,请读者自行思考。

时间: 2025-01-02 09:59:50

CheckBox与Listview的关联使用的相关文章

【转】带checkbox的ListView实现(二)——自定义Checkable控件的实现方法

原文网址:http://blog.csdn.net/harvic880925/article/details/40475367 前言:前一篇文章给大家展示了传统的Listview的写法,但有的时候我们并不想在DataHolder类中加一个标识是否选中的checked的成员变量,因为在项目开发中,大部分的ListItemLayout布局都是大家共用的,有些人根本不需要checkbox控件,所以会在初始化的时候把这个控件给隐藏掉,但我们的DataHolder在构造的时候以及ListItemAdapt

ListView的item中有button和checkbox,listview的点击事件无效

ListView的item中有button和checkbox,listview的点击事件无效,解决办法: 在item布局文件中的根控件中添加属性设置: android:descendantFocusability="blocksDescendants" 如果只能点击checkbox,而无法触发item的点击事件,那么可以禁掉checkbox的焦点获取,不让它可以点击就可以了 checkbox里面加 android:focusable="false" android:

wemall app商城源码中实现带图片和checkbox的listview

wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享其中实现带图片和checkbox的listview,供技术员参考学习. import com.inuoer.util.AsyncImageLoader.ImageCallback; import com.inuoer.wemall.R; public class MainAdapter extends BaseAdapter { private

CheckBox在ListView中的数据错乱

在ListView中,一般我们都会使用convertView参数,来滑动过程中,复用convertView对象来优化listView.但是如果在ListView中使用了CheckBox对象,就会出现数据错乱.比如我勾选了第一个item的CheckBox,往下滑动也会出现勾选的CheckBox.当然有些人说不优化,没次执行getView都创建一个view对象.但是那是非常不可取的,如果数据大的话,是非常要命的.本项目在实现优化的情况下,解决了CheckBox在ListView中的数据错乱,大家可以

android中实现带图片和checkbox的listview

android中实现带图片和checkbox的listview

【转】Android 带checkbox的listView 实现多选,全选,反选 -- 不错

原文网址:http://blog.csdn.net/onlyonecoder/article/details/8687811 Demo地址(0分资源):http://download.csdn.net/detail/onlyonecoder/5154352 由于listview的一些特性,刚开始写这种需求的功能的时候都会碰到一些问题,重点就是存储每个checkbox的状态值,在这里分享出了完美解决方法: 布局文件: [html] view plaincopy <?xml version="

Android 带checkbox的listView 实现多选,全选,反选 简易版

activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" a

Android 带checkbox的listView 实现多选,全选,反选,删除

activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" a

【转】Android 带checkbox的listView 实现多选,全选,反选----解决checkbox错位问题

原文网址:http://blog.csdn.net/onlyonecoder/article/details/8687811 Demo地址(0分资源):http://download.csdn.net/detail/onlyonecoder/5154352 由于listview的一些特性,刚开始写这种需求的功能的时候都会碰到一些问题,重点就是存储每个checkbox的状态值,在这里分享出了完美解决方法: 布局文件: [html] view plaincopy <?xml version="