解决RecyclerView点击一个item,后面每间隔9个item就会触发一次同样的事件的问题

2023-05-22 15:52:53 浏览数 (3)

当你通过点击事件改变第一个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);

以此记录下,传递给更多的人

0 人点赞