使用ListView的问题

时间:2011-06-01 08:38:52

标签: android listview

嗨极客!
这是使用ListView的问题。

生成单个列表项视图时,在BaseAdapter.getView的方法中,可能会发出一些连续的异步远程数据请求,例如获取人物的照片。

但是当响应返回时,列表项视图可能会被重用,因为ListView的工作原理。我无法找到正确的观点来回应。

你是怎么解决这个问题的?

2 个答案:

答案 0 :(得分:1)

正如您所说,当您加载图像时,很有可能列表项不再可见或甚至不存在。因此,您可以使用ListView.getFirstVisiblePosition()和ListView.getLastVisiblePosition()检查屏幕上的内容,如果是onScreen则获取项目并设置图像。否则你必须缓存图像(内存或SD卡,具体取决于图像的数量和大小),下次为该项目调用getView()时,只需使用缓存的图像。

我希望有所帮助。

答案 1 :(得分:0)

我相信你的后续是“懒图像加载”+缓存。我通过this answer获得了实施。该包称为LazyList。

我希望这会有所帮助

enter image description here