前一段时间遇到了一个问题,RecyclerView结合Picasso做了一个网络相册功能,上下来回滑动过程中,有一部分item没有调用onBindViewHolder,导致图片没有下载预览,展示空白。
通过代码调试,当 RecyclerView 从上到下滑动,中间不停顿,这个时候是正常的,onBindViewHolder 会调用,不过此时从底部上划的时候,上方的 item 从不可见到可见的这个过程中,部分item 的onBindViewHolder 并没有调用。
参考一些资料,发现时RecyclerView 的缓存复用机制引起的,不缓存就行了。具体代码如下:
myRecyclerView.setItemViewCacheSize(int); //传入-1 就可解决。