博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RecyclerView嵌套CheckBox滑动错位
阅读量:6850 次
发布时间:2019-06-26

本文共 1038 字,大约阅读时间需要 3 分钟。

在做一块嵌套CheckBox的recyclerview,并且包含增删功能的时候,滑动列表的时候,选中项出现错位,通过给CheckBox设置tag,防止CheckBox选中或取消选中的时候触发事件

CheckBox checkBox = (CheckBox) holder.getView(R.id.checkBox);	checkBox.setTag(new Integer(item.getDevice_id()));	if (posList != null) {		checkBox.setChecked(posList.contains(new Integer(item.getDevice_id())));	} else {		checkBox.setChecked(false);	}	onchecked(checkBox,holder,position, item.getDevice_id());复制代码

Device_id是唯一的可以用来作为tag,也可以用其他的唯一的不变的属性作为tag,下面是 onchecked方法

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {	@Override	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {		if (isChecked) {			if (!posList.contains(checkBox.getTag())) {				choiceDevice.add(deviceList.get(position));				posList.add(new Integer(device_id));			}		} else {			if (posList.contains(checkBox.getTag())) {				choiceDevice.remove(deviceList.get(position));				posList.remove(new Integer(device_id));				}				}			}		});复制代码

在点击的时候判断tag来决定选中或者取消

转载于:https://juejin.im/post/5c453fe8e51d4551cc6e2ccd

你可能感兴趣的文章
编译原理--词法分析程序
查看>>
springMVC 中几种获取request和response的方式
查看>>
vector与ArrayList、hashmap与hashtable区别
查看>>
一个简单系统的设计之争
查看>>
如何配置Kettle集群运行环境
查看>>
11 个超棒的 jQuery 分步指引插件
查看>>
非主流C/C++编程
查看>>
删除所有.svn目录-win7
查看>>
Spring整合CXf WebService总结
查看>>
android解析分析
查看>>
Java技术体系大全,准备面试的可以参考一下!
查看>>
ActiveMQ Failover Transport
查看>>
Java多线程可以分组,还能这样玩!
查看>>
vm-centos7-安装ceph-deploy多节点部署ceph
查看>>
扫描指定包(包括jar)下的class文件
查看>>
使用Stack堆栈集合大数据运算
查看>>
Spring注解Scope
查看>>
java 复习(一)整型变量使用
查看>>
Jsp
查看>>
Spring + Log4j2配置
查看>>