这不是一个大问题,但它看起来很奇怪。在列表或gridview中,我会加载延迟的图像(例如,从远程位置加载)。我正在使用convertView回收这些项目。当我快速向下滚动时,我会看到重复的旧图像,直到获取正确的图像并将其替换。旧物品可见一段时间,在listview或gridview中回收时
有没有办法改变它?例如,我尝试在getView()
(在初始化convertView之后,如有必要)的最开始处设置imageView的可见性为GONE
。取出图像后设为VISIBLE
。但由于某种原因,这不起作用(仍然看起来一样)。
谢谢!
编辑:我甚至不确定这是使用循环视图时的正常行为,还是我做错了什么。当互联网连接速度快,或者从文件系统中获取时,它看起来不像一个错误。然后新图像加载非常快,用户看不到重复的项目。但是,在一个缓慢的互联网连接,它看起来像一个错误。
向我们展示适配器的代码。每次调用getView()时,只需将图像设置为null,然后再开始实际加载,就可以修复它。 – 2012-08-14 22:09:37
但是这不是将它设置为'GONE'吗?在开始线程之前,我做了一个测试,在getView()开始时将所有内容都设置为'GONE',并且没有任何变化(不明白为什么,但这正是我在设备上看到的...)。我会发布一些示例代码。 – Ixx 2012-08-14 22:13:26
Agh ...愚蠢的我; PI将它们设置为'GONE',但在一些其他操作之后,在开始取回过程之前将它们再次设置为'VISIBLE' ...再次格式化stackoverflow的代码回答了我的一个问题... – Ixx 2012-08-14 22:22:18