ExpandbleListview 二级、三级数据显示,CheckBox 单选、多选

最近项目需要根据数据支持二级、三级分组显示,并需要最内层的item中支持单选。先上效果图
三级目录显示
Activity adapter Bean 的代码就不贴了,写法大都一致,这里说一下如何保证在任何目录下保持CheckBox单选的思路。在实体类Bean中加一个isSelect的get () 、set() 方法,默认isSelect 为false,在点击事件中设置当前数据的isSelect为true,最后调用notifyDataSetChanged()刷新listview界面。但是…问题来了,当我们简单点击测试后会发现只能保证同一个二级目录内的CheckBox为单选,另外同级二级目录下的CheckBox却不受控制,此时现象是二级目录A与B内都存在一个被选中的CheckBox,这与我们的需求不一致。返回去再审查代码发现每一个二级目录都相当一个独立的listview,如何能让所有二级目录都刷新一遍呢?首先在加载二级目录代码处保存所有二级目录adapter,即:声明 HashMap<Integer, SelectPOPSBySrChildExpandListAdapter> adapterList,其次在点击事件里我们只需要取出adapterList里的adapter,最后取出保存的adapter每都个调用一遍notifyDataSetChanged()即可保证刷新所有的二级目录内的数据。

Demo地址下载

猜你喜欢

转载自blog.csdn.net/caijinghuacaijinghua/article/details/78540722