Android 进阶之路Android开发程序员

【 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'

一、单选

单选.gif

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

代码示例:
https://github.com/cnwutianhao/CheckBox/tree/master/app/src/main/java/com/haocent/android/checkbox/single

二、多选

多选.gif

实现思路:

代码示例:
https://github.com/cnwutianhao/CheckBox/tree/master/app/src/main/java/com/haocent/android/checkbox/multi

三、反选

反选.gif

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

代码示例:
https://github.com/cnwutianhao/CheckBox/tree/master/app/src/main/java/com/haocent/android/checkbox/invert

四、全选

全选.gif

实现思路:
将列表保存到Map里,初始的时候默认是不选中状态。当触发全选按钮的时候,将Map里的数据全部设置成选中状态。

代码示例:
https://github.com/cnwutianhao/CheckBox/tree/master/app/src/main/java/com/haocent/android/checkbox/selectall

以上就是CheckBox单选、多选、反选和全选的所有内容。

示例代码已上传至 GitHub,如果对你有帮助请点赞,谢谢。
项目地址:https://github.com/cnwutianhao/CheckBox

上一篇 下一篇

猜你喜欢

热点阅读