如何检测ListView项目变为ActiveView(离开屏幕)的时刻

时间:2015-10-28 23:29:00

标签: android listview android-listview

根据ListView中的回收项机制的概念。

enter image description here

我想知道,实际上,我如何能够发现View 离屏的时刻。

<小时/> 我解释原因。

在大多数情况下,ListView都有自定义 Adapter(? extends ArrayAdapter / ? extends BaseAdapter, etc.).


getView(...)方法允许操纵视图的可见性和内容(文本,位图,绘图等)

在某些情况下,我需要启动一个单独的线程doing后台工作,然后再更新UI。实际上 - 使用AsyncTask。

当我在ListView中有多个项目时,每次调用 getView 都会生成一个新的Thread。如果View不再出现在屏幕上,我需要取消它们。这该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以为视图覆盖onDetachedFromWindow。这会让您知道视图何时离屏。文档说:

  

protected void onDetachedFromWindow()

     

在API级别1中添加在从a分离视图时调用此方法   窗口。此时它不再有用于绘图的表面。

另见 onAttachedToWindow()