【 Android 】CheckBox 使用方法详解
2018-01-06 本文已影响453人
Tyhoo_Wu
CheckBox 通常会在列表里使用,我们可以利用 CheckBox 实现单选、多选、反选、全选等。
示例项目采用 Material Design 样式开发,使用 RecyclerView 嵌套 CheckBox 的形式
导入必要的支持库:
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:cardview-v7:27.0.2'
implementation 'com.android.support:recyclerview-v7:27.0.2'
implementation 'com.android.support:design:27.0.2'
一、单选

实现思路:
CheckBox
被选中之后,将这一条记录存到Map
里,当我们再点击任意一个CheckBox
的时候进行循环遍历,如果当前选中的和上一次选中的不是同一个CheckBox
那么就将当前的CheckBox
勾选上,将上一次选中的CheckBox
勾选掉,并刷新页面;如果当前选中的和上一次选中的是同一个CheckBox
那么就将当前的CheckBox
勾选掉,并刷新页面。
二、多选

实现思路:
- 按照列表排列的顺序:将列表保存到
Map
里,初始的时候默认是不选中状态。当CheckBox
被点击的时候记录选中状态,将状态返回给对应的Activity
。 - 按照选择的顺序:将列表保存到
Map
里,初始的时候默认是不选中状态。当CheckBox
被点击的时候记录选中状态,将CheckBox
选中的列按选择顺序添加到列表里,如果被选中就记录,否则就移除。返回给Activity
当前CheckBox
选择的顺序的数据。
三、反选

实现思路:
将列表保存到Map
里,初始的时候默认是不选中状态。当CheckBox
被点击的时候记录选中状态,将状态返回给对应的Activity
。如果CheckBox
是选中的就把状态改为不选中,反之亦然。
四、全选

实现思路:
将列表保存到Map
里,初始的时候默认是不选中状态。当触发全选按钮的时候,将Map
里的数据全部设置成选中状态。
以上就是CheckBox
单选、多选、反选和全选的所有内容。
示例代码已上传至 GitHub
,如果对你有帮助请点赞,谢谢。
项目地址:https://github.com/cnwutianhao/CheckBox