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));
 }
相关推荐
你过来啊你2 小时前
Android用户鉴权实现方案深度分析
android·鉴权
kerli4 小时前
Android 嵌套滑动设计思想
android·客户端
daixin88485 小时前
什么是缓存雪崩?缓存击穿?缓存穿透?分别如何解决?什么是缓存预热?
java·开发语言·redis·缓存
恣艺5 小时前
LeetCode 854:相似度为 K 的字符串
android·算法·leetcode
阿华的代码王国6 小时前
【Android】相对布局应用-登录界面
android·xml·java
daixin88487 小时前
Redis过期数据的删除策略是什么?有哪些?
数据库·redis·缓存
用户207038619497 小时前
StateFlow与SharedFlow如何取舍?
android
QmDeve7 小时前
原生Android Java调用系统指纹识别方法
android