网站开发 需求文档,诏安县城乡规划建设局网站,推广网站排名,深圳网站公司好前言
android recyclerview 错乱的问题 每次刷新item的背景框都发生偏移或者bug
解决方法
在添加数据之前先清空recyclerView的缓存 亲测有效#xff01;
binding.recycler.getRecycledViewPool().clear();
binding.recycler.setLayoutManager(new LinearLayoutManager(ge…前言
android recyclerview 错乱的问题 每次刷新item的背景框都发生偏移或者bug
解决方法
在添加数据之前先清空recyclerView的缓存 亲测有效
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代码如下 如此解决数据错乱的问题 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));}