android recyclerview 为什么刷新位置错乱

2025-01-04 23:43:50
推荐回答(1个)
回答1:

先描述问题,如上图,我们选中了第三个item。然后滑动RecyclerView,让第三个item移出界面后,在滑回来,item的状态是否还在?
由于滑动,view的复用,会丢失之前item选中的状态,但是,但是,item上显示的数据为什么没有错乱呢?这是因为数据集合没有错乱。那么我们能不能把item上需要保存的状态,也与数据集合一同保存呢?这样是不是就不会错乱。当然可以,这样更容易理解。
在数据集合中需要预留本地字段来保存状态。
适配器中的部分代码:

[html] view plain copy
public class MyAdapter extends RecyclerView.Adapter {
//...
private ArrayList mLists = new ArrayList<>();
//...
}