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

posted @ 2019-02-01 14:09  Ricardoldc  阅读(4940)  评论(2编辑  收藏  举报