关键代码:

 // 记录选中的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实现单选相关推荐

  1. android 批量查找view,Android Recyclerview实现多选,单选,全选,反选,批量删除的功能

    效果图如下: recyclerview 实现多选,单选,全选,反选,批量删除的步骤 1.在recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用 ...

  2. Android RecyclerView、ListView实现单选列表的优雅之路.

    一 概述: 这篇文章需求来源还是比较简单的,但做的优雅仍有值得挖掘的地方. 需求来源:一个类似饿了么这种电商优惠券的选择界面:  其实就是 一个普通的列表,实现了单选功能,  效果如图:    (不要 ...

  3. android 全选功能,Android Recyclerview实现多选,单选,全选,反选,批量删除的功能

    效果图如下: Recyclerview 实现多选,单选,全选,反选,批量删除的步骤 1.在Recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用 ...

  4. android 获取通讯录全选反选_Android Recyclerview实现多选,单选,全选,反选,批量删除的功能...

    效果图如下: Recyclerview 实现多选,单选,全选,反选,批量删除的步骤 1.在Recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用 ...

  5. Android在listview添加checkbox实现单选多选操作问题

    android根据View的不同状态更换不同的背景 http://www.eoeandroid.com/thread-198029-1-1.html android 模仿朋友网推出的菜单效果[改进版] ...

  6. 复选框(checkbox)、单选框(radiobox)的使用

    复选框(checkbox).单选框(radiobox)的使用 复选框: HTML: // 复选框 <input type="checkbox" name="chec ...

  7. html 单选打勾效果,checkbox 实现单选效果(html)

    note:在html 标签类中的checkbox实现单选效果. 在最近的开发项目中,客户要求使用小方格子实现"单选"功能,显然圆点的radio被out了,只能选择chckbox的方 ...

  8. ElementUI:Checkbox实现单选,嵌套多选

    官网地址:ElementUI-Checkbox 一.Checkbox 基础介绍 <template><!-- `checked` 为 true 或 false --><e ...

  9. CSS3重新定义input中呆若木鸡的默认复选框CheckBox和单选框Radio样式

    <!DOCTYPE html> <html> <head><meta charset="UTF-8"><style>/* ...

最新文章

  1. 激活用户并让他留下,仅是“活下去”的第一步
  2. centos7配置静态IP
  3. openAI general intuition
  4. leetcode 662. Maximum Width of Binary Tree | 662. 二叉树最大宽度(BFS)
  5. 基于NFS实现lamp的负载均衡之二: 部署NFS服务器
  6. Java中九大内置对象
  7. Linux TCP server系列(5)-select模式下的单进程server
  8. 评论:中国企业向Faceook学习什么
  9. java读取邮箱附件_使用javamail获取附件内容
  10. centos8安装搜狗输入法_搜狗拼音输入法去广告版
  11. 软件设计师17-网络基础知识
  12. 数据库关键字搜索查询html,在所有数据库中搜索关键字
  13. css水波纹-雷达扩散效果
  14. linux查看pbs报错日志,PBS 作业管理系统
  15. 人物志 | 美团无人机毛一年:建成空中机器人物流网络是技术人一生的梦想
  16. 新手指南:到国外域名注册商注册域名
  17. 有关三年级计算机课的日记,今天的自习课三年级日记
  18. (39.1)【XML漏洞专题】必备的基础知识、利用原理、构建规则
  19. Maven依赖冲突问题解决方案
  20. 迪士尼超级计算机多少钱,上海迪士尼乐园公布票务调整方案,明年1月9日起实行新票价...

热门文章

  1. SOLID五大原则【图解】
  2. CAD多线样式怎么设置?
  3. maven项目正常运行,项目图标打红叉叉解决方法(个人笔记)
  4. seo赚钱培训,seo赚钱培训课程
  5. 国二c语言题目给分,及三计算机国二c语言个别考题分析.docx
  6. 解决Font family [‘sans-serif‘] not found的问题
  7. 云桌面打印机脱机无法打印故障处理
  8. Linux版本之docker容器bind9搭建DNS服务器和配置域名使用
  9. 中国是什么时候用计算机几几年,中国的第一台电子计算机诞生于几几年?
  10. 被阿里巴巴深刻改变的蚂蚁中国