前言
RecyclerView是日常开发中最常用的控件之一。一般情况下,我们用它来展示一系列数据的视图。然而在使用过程中,偶尔会出现数据错乱的情况。当然这并不是RecyclerView本身的bug,而是代码编写中的问题。
场景再现
1.先准备一个数据对象
public class TestModel {
public TestModel(String description) {
this.description = description;
}
public TestModel(String description, boolean selected) {
this.description = description;
this.selected = selected;
}
public String description;
public boolean selected;
}
现在要求:将15个TestModel对象展示在RecyclerView中,每个Item包含一个TextView和一个ImageView,其中TextView展示description,当selected = true的时候,ImageView显示为选中状态,否则为未选中状态。
2.准备15个数据,只有第一个model的selected = true。
List<TestModel> models = new ArrayList<