ListView回收和预扣元素绘制直到它们被完全加载

时间:2013-10-27 04:25:36

标签: android listview

两个问题:

a)滚动时有没有办法阻止视图被“抛出”?我正在使用YouTubeAPI(YouTubeThumbnailView)从网络上获取图片,并且需要一些时间才能获取这些图片 - 滚动图像会在滚动停止后的几秒钟内加载。

和b)我可以保留listview的元素,直到它们被完全加载?我更喜欢在缩略图加载时渲染元素。

1 个答案:

答案 0 :(得分:0)

看起来你正在以错误的方式解决这个问题。您应该获取图像并将它们存储在某种缓存中(这里有很多主题,因此我会将该部分作为练习),然后通知数据何时加载并更新缩略图(如果它仍在屏幕上) 。视图是否被“抛弃”并不重要;在您下次尝试查看该特定缩略图时,它应该已经在缓存中,并且应该能够立即加载。

关于第二个问题,您最初可以将在适配器的getView()中返回的视图的可见性设置为INVISIBLE,然后在显示缩略图时,设置缩略图,然后将视图设置为VISIBLE。