解决RecyclerView复用数据混乱问题

RecycleView数据展示的时候,根据返回的List数据来设置条目不同的状态,但是在向下滚动再返回的时候,recycleview复用条目会导致数据的混乱。
简单的关闭复用肯定是不行的,可以给条目设置一个TAG来解决这个问题:
1.在适配器里面添加成员变量

List positions = new ArrayList<>();

2.在需要添加标记的地方添加当前索引position

//先判断是否添加过,否则可能会重复添加
if (!positions.contains(position)) {
                        positions.add(position);
                    }

3.在onBindViewHolder()方法的最下面来设置单个条目的状态

holder.cbName.setChecked(positions.contains(position) ? true : false);

你可能感兴趣的:(解决RecyclerView复用数据混乱问题)