Android RecyclerView条目错位

时间:2024-03-16 13:12:38

在使用RecyclerView时,有时候会出现条目错位的现象,也就是在所在的Item出现了其他Item设置的数据,

如图:这是之前的,也就是正确的数据Android RecyclerView条目错位,在插入一条后,也就是最后一条时,就变成了这样:Android RecyclerView条目错位,按照正常的逻辑,应该是从0开始,而不是从5开始.


后来百度了下,最后也没有找到,最后通过一个网站,看到说是static的问题,但是我没有使用static,根据static的问题,我想到了变量的位置.果然在代码中发现,在ViewHolder中的控件都被存放在了RecyclerView的类里面;


解决办法:

删掉在RecyckerView子类的变量声明,放在ViewHolder子类中即可.


在说明一条,之前在开发时,有一个需求也是使用列表框,里面的Item被点击过的文字变成红色,其余保持原来的颜色.但是最后发现变红的一条 下面的好多条都变红.也是复用缓存的问题,就是使用类似于

if(点击) 变红

else 变成原来的颜色


之前是没有添加else语句,添加上问题解决.