今天在查看gridview的时候发现图片来回闪烁,之前应该是一个屏幕可以放下没出现这个问题。下面是解决办法和分析:
分析:如果GridView的宽度高度不确定,getView会多执行几次position=0来计算item的高度和宽度,得出每屏幕能够显示最大的item,跟代码会发现getView方法中position=0时会重复加载很多次,并且当position=0时convertView对象会有不同。
解决办法:
1、在gridview的adapter中新建一个map,用来存放对应的convertview;
2、使用map来保存convertview,使其和position对应,保证不会出现不同position同一个convertview的情况;
3、为了保证Map不会因为存储过多而溢出,在加上一个清理屏幕范围外的view(在return convertview前加上就行);
有问题可以给我留言,共同学习;
网友评论