看图:
视觉效果、recyclerview的基本用法都不说了,超级简单,稍后看代码。
重点来说说item状态的保存问题,其实这个也不是什么新鲜问题,处理起来也不难,方法众多,有setTag的,也有保存到map的。接下来我展示一种自认为更优的方式。
先描述问题,如上图,我们选中了第三个item。然后滑动RecyclerView,让第三个item移出界面后,在滑回来,item的状态是否还在?
由于滑动,view的复用,会丢失之前item选中的状态,但是,但是,item上显示的数据为什么没有错乱呢?这是因为数据集合没有错乱。那么我们能不能把item上需要保存的状态,也与数据集合一同保存呢?这样是不是就不会错乱。当然可以,这样更容易理解。
在数据集合中需要预留本地字段来保存状态。
适配器中的部分代码:
public class MyAdapter extends RecyclerView.Adapter {
//...
private ArrayList mLists = new ArrayList<>();
//...
}
故,UserBean中添加字段:
public