android recyclerview 刷新 数据错乱的问题

前言

android recyclerview 错乱的问题

每次刷新item的背景框都发生偏移或者bug

解决方法

在添加数据之前先清空recyclerView的缓存

亲测有效!

java 复制代码
binding.recycler.getRecycledViewPool().clear();
binding.recycler.setLayoutManager(new LinearLayoutManager(getActivity()));
binding.recycler.setAdapter(mAdapter);

//或者
 binding.recycler.getRecycledViewPool().clear();
 mAdapter.setNewData(pileRadioList);

解决方法2

我们都知道recyclerview机制,是有复用item

所以我们在adapter里设置item的数据时,一定要严谨。

我在设置item背景框的时候 用了bean类的flag做本地标记

但是没有做else的判断,导致recyclervie在复用item的时候数据错乱

谨记此次教诲,严谨,严谨,一定要严谨。

adapter代码如下:

如此解决数据错乱的问题

java 复制代码
 if (item.getRadioItem().isFlag()) {
     consRadio.setBackground(mContext.getResources().getDrawable(R.drawable.blue_white_bg_5dp));
 } else {
     consRadio.setBackground(mContext.getResources().getDrawable(R.drawable.circle_white_bg_5dp));
 }
相关推荐
alexhilton1 小时前
2027 Android 开发者路线图:学习、面试与 AI
android·kotlin·android jetpack
灿飞屋3 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
疯华整猫4 小时前
我用 Trae 把 Android 内存账重算了一遍
android·性能优化·源码
code2cat5 小时前
【随笔】推理准入控制:请求进来之前,先给KV缓存留出位置
缓存·大语言模型·vllm
TimeFine6 小时前
AI 编程工作流的设计:从人工判断到 AI裁判
android·ai编程
阿杰m6 小时前
Android源码第四章:Android 系统启动——App 的第一行代码从哪来?
android
徐小黑ACG8 小时前
Redis-基础
数据库·redis·缓存
疯华整猫10 小时前
混淆起初根本不是为了防破解:我用 Trae 把 Android 混淆这二十来年重跑了一遍
android·人工智能·计算机视觉
Carson带你学Android11 小时前
AI时代,你的 App 会被 Agent 这三种方式调用
android·ai编程
恋猫de小郭12 小时前
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了
android·前端·flutter