在Android开发过程中,经常需要根据后台数据动态的创建CheckBox列表,而列表又是可以滑动的,在滑动的过程中经常会出现CheckBox状态丢失,或者状态发生错乱。
下面我根据自己摸索出来的经验谈一谈解决方法:
(1)获取到数据源
(2)动态创建CheckBox列表
(3)此步骤应该放在第一步,创建一个集合,存放获取到的CheckBox数据以及CheckBox的状态,在创建CheckBox列表的过程中将CheckBox以及状态添加到集合中,同时可以为每个CheckBox配置一个不相同的标志,比如setTag()
(4)需要明白,CheckBox在状态切换时只是外观上发生变化,我们只需定义一个数组保存CheckBox在不同状态下的样式即可
(5)当CheckBox的状态发生变化时,遍历集合,取出所有的CheckBox,跟当前的CheckBox进行标志的比对,如果相同,那么就可以对相应的CheckBox的状态进行修改,将对应的样式再添加到该CheckBox上
(6)最后如果想要获取被选中的CheckBox的话,完全只需要遍历集合即可