当你通过点击事件改变第一个item的状态之后,向下滑动到第10个item也会同样触发,然后第19、28、37、46等等,每间隔9个item就会重复之前的操作后的显示状态。
网上尝试了不同的的方法,什么接口回调之类的,都不太成功(可能是我写法有问题),但是找到了这个方法是绝对可行。
终于在一位兄弟的文档中找到了这么一句代码
代码语言:java复制recyclerview.setItemViewCacheSize(int)
其实就是一个缓存的问题,只要在recyclerview相应的activity或者fragment中设置
int是缓存数,默认值为5,每间隔(4 5)个item就会进行复用,如果你把它设为10,那么每间隔(4 10)个item就会复用,你只要把int的值设为:【item数 - 4】即可!
代码语言:java复制BaseAdapter adapter = new BaseAdapter();
//适配器的总行数 - 4
recyclerview.setItemViewCacheSize(adapter.getCount - 4);
以此记录下,传递给更多的人