根据ListView中的回收项机制的概念。
我想知道,实际上,我如何能够发现View
离屏的时刻。
在大多数情况下,ListView
都有自定义
Adapter(? extends ArrayAdapter / ? extends BaseAdapter, etc.).
getView(...)
方法允许操纵视图的可见性和内容(文本,位图,绘图等)
在某些情况下,我需要启动一个单独的线程doing
后台工作,然后再更新UI。实际上 - 使用AsyncTask。
当我在ListView
中有多个项目时,每次调用 getView 都会生成一个新的Thread
。如果View
不再出现在屏幕上,我需要取消它们。这该怎么做?
答案 0 :(得分:1)
您可以为视图覆盖onDetachedFromWindow。这会让您知道视图何时离屏。文档说:
protected void onDetachedFromWindow()
在API级别1中添加在从a分离视图时调用此方法 窗口。此时它不再有用于绘图的表面。
另见 onAttachedToWindow()