RecyclerView用CheckBox实现单选
关键代码:
// 记录选中的Itemprivate int selectedPosition = -1;@Overridepublic void onBindViewHolder(@NonNull final ItemViewHolder holder, final int position) {holder.mTV.setText(list.get(position).getName());holder.mCB.setChecked(list.get(position).isChecked());// 要实现单选的话,就要选择点击事件,然后在点击事件中根据选择状态做变化,不要选用setOnCheckedChangeListener()holder.mCB.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {holder.mCB.post(new Runnable() {@Overridepublic void run() {if(selectedPosition != -1){list.get(selectedPosition).setChecked(false);// notifyItemChanged必须在UI线程中执行,否则会报:// java.lang.IllegalStateException: Cannot call this method// while RecyclerView is computing a layout or scrollingnotifyItemChanged(selectedPosition);}list.get(position).setChecked(holder.mCB.isChecked());if(holder.mCB.isChecked()){selectedPosition = position;}else{selectedPosition = -1;}}});}});}
对CheckBox的事件处理应该用OnClickListener,然后在点事件里处理CheckBox的选中逻辑。
Java版本Demo
Kotlin版本
RecyclerView用CheckBox实现单选相关推荐
- android 批量查找view,Android Recyclerview实现多选,单选,全选,反选,批量删除的功能
效果图如下: recyclerview 实现多选,单选,全选,反选,批量删除的步骤 1.在recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用 ...
- Android RecyclerView、ListView实现单选列表的优雅之路.
一 概述: 这篇文章需求来源还是比较简单的,但做的优雅仍有值得挖掘的地方. 需求来源:一个类似饿了么这种电商优惠券的选择界面: 其实就是 一个普通的列表,实现了单选功能, 效果如图: (不要 ...
- android 全选功能,Android Recyclerview实现多选,单选,全选,反选,批量删除的功能
效果图如下: Recyclerview 实现多选,单选,全选,反选,批量删除的步骤 1.在Recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用 ...
- android 获取通讯录全选反选_Android Recyclerview实现多选,单选,全选,反选,批量删除的功能...
效果图如下: Recyclerview 实现多选,单选,全选,反选,批量删除的步骤 1.在Recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用 ...
- Android在listview添加checkbox实现单选多选操作问题
android根据View的不同状态更换不同的背景 http://www.eoeandroid.com/thread-198029-1-1.html android 模仿朋友网推出的菜单效果[改进版] ...
- 复选框(checkbox)、单选框(radiobox)的使用
复选框(checkbox).单选框(radiobox)的使用 复选框: HTML: // 复选框 <input type="checkbox" name="chec ...
- html 单选打勾效果,checkbox 实现单选效果(html)
note:在html 标签类中的checkbox实现单选效果. 在最近的开发项目中,客户要求使用小方格子实现"单选"功能,显然圆点的radio被out了,只能选择chckbox的方 ...
- ElementUI:Checkbox实现单选,嵌套多选
官网地址:ElementUI-Checkbox 一.Checkbox 基础介绍 <template><!-- `checked` 为 true 或 false --><e ...
- CSS3重新定义input中呆若木鸡的默认复选框CheckBox和单选框Radio样式
<!DOCTYPE html> <html> <head><meta charset="UTF-8"><style>/* ...
最新文章
- 激活用户并让他留下,仅是“活下去”的第一步
- centos7配置静态IP
- openAI general intuition
- leetcode 662. Maximum Width of Binary Tree | 662. 二叉树最大宽度(BFS)
- 基于NFS实现lamp的负载均衡之二: 部署NFS服务器
- Java中九大内置对象
- Linux TCP server系列(5)-select模式下的单进程server
- 评论:中国企业向Faceook学习什么
- java读取邮箱附件_使用javamail获取附件内容
- centos8安装搜狗输入法_搜狗拼音输入法去广告版
- 软件设计师17-网络基础知识
- 数据库关键字搜索查询html,在所有数据库中搜索关键字
- css水波纹-雷达扩散效果
- linux查看pbs报错日志,PBS 作业管理系统
- 人物志 | 美团无人机毛一年:建成空中机器人物流网络是技术人一生的梦想
- 新手指南:到国外域名注册商注册域名
- 有关三年级计算机课的日记,今天的自习课三年级日记
- (39.1)【XML漏洞专题】必备的基础知识、利用原理、构建规则
- Maven依赖冲突问题解决方案
- 迪士尼超级计算机多少钱,上海迪士尼乐园公布票务调整方案,明年1月9日起实行新票价...
热门文章
- SOLID五大原则【图解】
- CAD多线样式怎么设置?
- maven项目正常运行,项目图标打红叉叉解决方法(个人笔记)
- seo赚钱培训,seo赚钱培训课程
- 国二c语言题目给分,及三计算机国二c语言个别考题分析.docx
- 解决Font family [‘sans-serif‘] not found的问题
- 云桌面打印机脱机无法打印故障处理
- Linux版本之docker容器bind9搭建DNS服务器和配置域名使用
- 中国是什么时候用计算机几几年,中国的第一台电子计算机诞生于几几年?
- 被阿里巴巴深刻改变的蚂蚁中国