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));
 }
相关推荐
mygljx11 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
我真会写代码11 小时前
从入门到精通:Kafka核心原理与实战避坑指南
分布式·缓存·kafka
xinhuanjieyi12 小时前
ruoyimate导入sql\antflow\bpm_init_db.sql报错
android·数据库·sql
我真会写代码13 小时前
Redis高频面试题(含标准答案,覆盖基础+进阶+实战)
数据库·redis·缓存
6+h13 小时前
【Redis】缓存问题及解决方案
数据库·redis·缓存
闲猫13 小时前
基于RABC的权限控制设计
android
6+h14 小时前
【Redis】高可用核心讲解
数据库·redis·缓存
007张三丰14 小时前
常用缓存技术全方位解析:从本地缓存到分布式缓存
分布式·缓存
Aloha_up15 小时前
redis与数据库的一致性问题分析
数据库·redis·缓存
星霜笔记16 小时前
GitMob — 手机端 GitHub 管理工具
android·kotlin·github·android jetpack