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));
 }
相关推荐
新子y1 小时前
【操作记录】我的 MNN Android LLM 编译学习笔记记录(一)
android·学习·mnn
lincats3 小时前
一步一步学习使用FireMonkey动画(1) 使用动画组件为窗体添加动态效果
android·ide·delphi·livebindings·delphi 12.3·firemonkey
想想吴4 小时前
Android.bp 基础
android·安卓·android.bp
写点啥呢10 小时前
Android为ijkplayer设置音频发音类型usage
android·音视频·usage·mediaplayer·jikplayer
想回家的一天15 小时前
Go1.25的源码分析-src/runtime/runtime1.go(GMP)
数据库·redis·缓存
coder_pig15 小时前
🤡 公司Android老项目升级踩坑小记
android·flutter·gradle
死就死在补习班16 小时前
Android系统源码分析Input - InputReader读取事件
android
死就死在补习班16 小时前
Android系统源码分析Input - InputChannel通信
android
死就死在补习班16 小时前
Android系统源码分析Input - 设备添加流程
android
死就死在补习班16 小时前
Android系统源码分析Input - 启动流程
android