【发布时间】:2015-01-14 16:31:26
【问题描述】:
我正在寻找某种方式在 GridView(或 ListView 也可能)中的项目被删除或其内容被删除或不再可见时进行注册,以便可以立即取消后台任务。
如果我的网格看起来像这样:
* * *
* * *
* * *
每个点代表从设备加载的图像,在后台任务中。 然后在所有图像渲染完成之前快速向下滚动,它仍然会等待所有任务完成。
如何取消?似乎无法从适配器执行此操作。
如果第一行(上)在“图片”之外,那么取消这三个任务(如果有的话)并立即加载第三行(下)。
我是从 GridView 调用它还是从适配器处理它。尝试从 ImageView 中寻找一个事件,让我知道它是否没有聚焦或它的内容已被删除。没有找到任何东西。因为视图也被重用了。
例子:
* * * <- Not visible, cancel loading task (at the moment will finish loading these images)
- - -
* * *
* * *
* * * <- Now visible, prioritize these (these will come last, not first)
- - -
* * * <- Not visible yet
* * * <- Not visible yet
【问题讨论】:
-
通常会回收不再可见的视图。您可以在适配器(convertView)的
getView中获取现在隐藏的视图
标签: android image gridview android-asynctask android-adapter