android的listview加checkbox实现单保存checkbox的勾选信息

最近做一个项目时想要增加安卓端的一个功能,就是增加一个activity上面有很多checkbox的勾选信息,然后可以给人选择多选框,看起来还算很简单。。但是真正做起来就有很多麻烦了。。虽然我对安卓有点了解,以前也看过一些代码,但都是看别人的代码,看代码当然简单啦,这下要全部自己写,这下有点棘手了,一开始真是无从下手啊,后来去网上查了一下,觉得有个人的写法不错,就是用listview导入adap
摘要由CSDN通过智能技术生成

最近做一个项目时想要增加安卓端的一个功能,就是增加一个activity上面有很多checkbox的勾选信息,然后可以给人选择多选框,看起来还算很简单。。但是真正做起来就有很多麻烦了。。

虽然我对安卓有点了解,以前也看过一些代码,但都是看别人的代码,看代码当然简单啦,这下要全部自己写,这下有点棘手了,一开始真是无从下手啊,后来去网上查了一下,觉得有个人的写法不错,就是用listview导入adapter的布局这样子,于是我就照着他的代码的原型开始改了起来。


改了N久,终于改的有点样子了,其中也花了很多精力呢!!所以趁热先记录下来,免得以后忘了,忘了再写的话那可是事倍工半呢!


我新添加的代码有四个文件,分别是Adapter.java,ListViewDemo,java,choice.xml,problem_item.xml这四个文件。


遇到的问题及解决方案:

1.新建的多选框选定以后跳转到别的界面后再次点入这个界面后以前的多选框信息不能保存,这样选择的信息就不能记录下来了。

解决方案:应用preference进行保存,将多选框选择信息写进了preference后下一次再次进入这个界面后就读取初始化信息来进行读取以前的记录信息。从而将多选框的记录勾上。


2.preference只能以键值对来保存,当这个activity有多个其他的信息框调用时,就会产生不能记录所有的多选框选择信息,举个例子,就好像有100个学生,你要为每个学生的类别进行多选框操作,比如说选择上课科目之类的,科目的哪个activity是一样的,但是数据不一样,这样你就需要保存多选框数据了,保存一个还好,但要保存每一个人的信息的话就需要动一番脑筋了。

解决方案:将每一个学生的ID发送到选择框activity,每次打开时读取对应学生ID对于的键值,因为多选框,所以有多个值,为了方便我就将全部的多选框转换为01字符串,0代表没有选中,1代表选中。然后再解析出是否被选中就可以了。


下面是相应功能代码,只供借鉴,不足望指出:


红线内为后来发现的小Bug!!

!!=================================================================================!!

软件总有Bug,需

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值