ListView中嵌套checkbox实现多选

我现在要实现一个多选的ListView,当选择ListView中的checkbox的时候,可以将选中的多个checkbox所代表的值保存到数据库中!哪位高手做过类似的东西,给小弟指教指教,十分感谢!
这个你可以做一个链表,把点击过的id纪录下来,就可以实现了
用一个数组存放你的listview种checkbox的值,然后给checkbox设置监听,改变数组里相应的值

ArrayList<Boolean> listChosen = null;

resetListChosen(20, false);

private void resetListChosen(int size, boolean b){
        listChosen = new ArrayList<Boolean>();
        for (int i = 0; i<size; i++){
                listChosen.add(b);
        }
}

// == list - ItemClickListener
private OnItemClickListener myListItemClickListener = new ListView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
        
        ...
        ...
        
        if(listChosen.get(position)){ //如果选中
                listChosen.set(position, false);
        }else{
                listChosen.set(position, true);
        }
                                       
        ((MyListAdapter)mList.getAdapter()).notifyDataSetChanged();
        
        ...
        ...
        
        }
}

// == class MyListAdapter - getview
@Override
public View getView(int position, View convertView, ViewGroup parent) {
        ...
        ...
        if (listChosen.get(position)){
                checkBox.打勾;
        }else{
                checkBox.不打勾;
        }
        ...
        ...
// 这里的checkBox 去(Layout)convertView 这里取吧。。比如:(checkBox) (((RelativeLayout) convertView).getChildAt(2))
}

十分感谢
正好需要,看看学习了
学习下,正要用呢,很有用的
方法一:自定义Adapter,在getView方法中取到CheckBox,然后通过Arraylist之类的Cache存放CheckBox的状态,在提交结果的时候就过滤Cache的元素。
方法二:直接调用listView的getCheckedItemPositions()方法就可以取到被Checked项的位置,从而取到被选中的项的值。
方法一较为开放,可以自由定义,但实现较为啰嗦(其实也不啰嗦= =),方法二一般适用于普通的情况,较为方便
好像这个会有许多问题
学习了~~


GridView显示联系人头像的问题

ListView中嵌套checkbox实现多选
如何让按钮变成圆形?
android:id="@*android:id/seekbar" 注意*号
png 图形文件数据生成Drawable报解码失败
如何给ListView设置背景色或者背景图片啊?
有办法将wm系统的手机移植到android系统吗?
請問如何在EditText输入框中加入不可修改的文字?
网页播放器
请问这种文本输入组件是哪个view? 不太像 EditText 呀
待机掉线问题
android桌面快捷放式 3D效果 实现
怎么让虚拟键盘不挤压/改变原来的布局
android中UI是怎么实现与C交流的
一台pc不能同时装两台以上的android设备 driver吗
Android 解码Adobe DRM加密电子书 求助
android 单步调试
adb push XXX /sdcard/ Read-only file system
Android market能支持自动安装多个apk吗
Market程序是怎么样安装应用apk的
Handler的问题
android的webView能看带有mp4文件的网页吗?
以线程运行android进度条
初次往SQLite里放入原始数据应该在onCreate里执行吗?
android中读取XML文件的
如何实现类似层显示隐藏的效果
在线音乐播放器完整项目导入有很多很多的错误,谁来指导一
如何实现动态改变TextView或者Button的位置
弱弱的问一下,关于setStretchMode(int)的
listview的问题
怎么利用twitter4j获得OAuth认证的Twitter对象?
TabHost问题!!!!!!!!!!!!!!!
twitter怎么用代码实现转发消息啊
对话框的问题
大家好,请问listview可以实现分页么?
LinearLayout布局如何解决“坍塌”问题。
有关线程的问题
用DDMS截屏得到的图像与手机实际显示不一致?
各位谁有视频播放的例子代码吗?
ANDROID为什么没有底栏菜单控件啊?
Activity的生命周期的问题
Camrea如何设置自动对焦
关于三星i9000的http的post方式的问题
XML解析的问题
关于在init.rc里面添加信息的问题
急!延后启动init.rc中的篮牙服务,该怎么做呀?
如果查询不到结果,如何用Cursor来判断?
如何在Notification 中,message能换行显示?
如何在listView上面加一个加载得界面
2。1的 双camera怎么实现
修改init.rc文件
修改ListView在屏幕显示的范围?
图片分层显示的问题!!!!
有没有jni下opengles的例子
Spinner的问题。高手进!
苦恼啊,Android SDK setup.exe怎么没用了?
初学者求助:关于在res/drawable中添加xml实现控件颜色改变的
lisView数据问题
请教:android的sqlite操作的组合条件写法?
获得自带联系人号码有多个,如何区分类型?
求助
难题...很纠结.大家来帮我看看,...listview中的button的问题
像IPAD那样,将图标合并成一个图标,如何实现?
有关Uri
在一个Activity界面中,数据没加载显Loading,下载完显示Listview
动态壁纸,2.1能跑,2.2就报错!这神马原理?
ListView里边的两个值,如何放在一行里显示??
Android手机刷机升级操作系统
地图点击事件求助
如何有效监测TCPSocket的断开?
使用imageview的时候animation失效
SharedPreferences 的问题啊
adb不能识别手机问题
高手帮看下,可以预览,设置为壁纸就卡死(已解决)
问个有些难度的问题,关于android通话机制的
android程序在模拟器运行时总显示已安装但在模拟器上找不到
怎么实现在程序过程中不锁屏或者黑屏
android开发中如何对email进行过滤
高手,请问如何在线程中弹出对话框?
树形菜单的child为gridview,谁做过?
两种退出整个程序的方法!
求教,关于ListView中,显示条目的问题
如何进行代码混淆
彩信连接 socket 连不上
在一个activity中,如何调用其他activity中的成员变量
动态图形绘制(小球不停运动)
关于Popup Window 的问题
有没有哪位大牛对图片像素级处理有研究的,麻烦指点一下
如何在添加google地图上的标记事件?
如何判断图片库Gallery中的图片数目
关于退出应用程序的问题
请问Android中如何在自己的类中获取资源中的string(已解决)
怎么设置安装程序到SD卡上?
win7下使用droiddraw的问题
请问如何拿到联系人的头像
想问下 android market 当搜索到同类软件的时候,是通过什么进
启动service失败的原因?
appwidget运行不起来
横竖屏切换之后再次进入报错
大家给个办法做一个2×2的按钮RadioButton,要RadioGroup
更多android开发资料,请访问http://www.buildapp.net/android/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值