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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM