android – ListAdapter – 获取即将出现在屏幕上的下一行? (用于位图预加载)

我有一个列表适配器,每行显示一张大照片.我在ListAdapter.getView()方法的一个线程中从磁盘中取出位图.这样可以正常工作,但是当用户滚动时,他们会看到屏幕上显示空行
ImageView的新行的顶部,这有点令人讨厌.从磁盘读取位图的线程很快完成,然后重绘.

ListAdapter世界中是否有一个好的模式表示“下一行”有暂时进入屏幕的危险?理想情况下,我想启动一个线程来加载这个不可见行的位图,并将位图放入我的memcache,这样如果用户滚动到这个单元格,就会加载位图.

我想我需要知道(1)用户向下滚动和(2)下一个不可见行的上边缘大约是20个像素或远离可见的某个值.

谢谢

最佳答案 注册一个AbsListView.OnScrollListener;您将收到列表滚动状态的通知,您还将获得当前可见的项目.结合这两个参数,您可以很容易地决定是否需要加载“下一个”位图.

点赞