回收时,在listview或gridview中可以看到旧项目一段时间

时间:2012-08-14 21:46:33

标签: android listview gridview recycle

这不是一个大问题,但看起来很奇怪。在列表或网格视图中,我延迟加载图像(例如从远程加载)。我正在使用convertView回收这些项目。当我快速向下滚动时,我看到重复的旧图像,直到获取正确的图像并替换它们。

有没有办法改变这个?例如,我在getView()开始时尝试(如果需要,在初始化convertView之后),将imageView可见性设置为GONE。并在获取图像后设置为VISIBLE。但由于某种原因,这不起作用(看起来仍然相同)。

谢谢!

编辑:在使用回收的视图时,或者我做错了,我甚至不确定这是否是正常行为。当互联网连接速度很快或从文件系统中获取时,它看起来不像是一个错误。然后,新图像加载速度非常快,用户看不到重复的项目。但在互联网连接缓慢的情况下,它看起来像是一个错误。

1 个答案:

答案 0 :(得分:0)

在行中设置图像之前,只需检查图像是否属于视图内容。

我在某个时候遇到了同样的问题,我不得不更改我的图像下载程序,以便它获取图像网址和元数据,这样一旦下载完成,我就可以将元数据与视图的数据进行比较。