RecyclerView复用导致的数据错乱问题解决方法
RecyclerView复用导致的数据错乱问题解决方法
在RecyclerView组件复用时,发生数据错乱问题:点击一个item后,其他item的状态也发生改变,原因是RecyclerView的onBindViewHolder()方法,只有在getItemViewType()返回类型不同时才会调用;
所以如果想要每次都调用onBindViewHolder()刷新item数据,就要重写getItemViewType(),让其返回position,(在onCreateViewHolder函数中对展示的类型进行判断)否则很容易产生数据错乱的现象。
@Override
public int getItemViewType(int position) {
return position;
}
转载自:https://blog.csdn.net/yangxi_pekin/article/details/78915330