什么时候调用ListView的getView()方法?

时间:2011-08-17 06:29:08

标签: android android-layout android-listview

我正在研究ListView。我想知道什么时候调用getView()。一旦适配器被设置,它是否被调用?一旦getView()方法完成执行,是否会调用“设置适配器”旁边的行?

请在getView()完成执行后帮助我知道执行哪一行。

这对我来说是一个很大的帮助。

提前致谢, Vaishnvai

2 个答案:

答案 0 :(得分:12)

为传递给适配器的列表中的每个项调用

getView()。 设置适配器时调用它。完成getView()后,调用setAdapter(myAdapter)后的下一行。 要调试getView(),您必须在其上切换断点,因为您无法从getView()步入setAdapter(myAdapter)。 在getView()之后和滚动时也会调用notifyDataSetChanged()

答案 1 :(得分:7)

更清楚的是,只要屏幕上显示新项目,就会显示getView(),显示项目数。这意味着,如果您有100万个项目,但其中15个适合屏幕,则getView被调用15次。无论何时向上/向下滚动并显示新项目,都会调用getView()以获取新项目。而且您也应该了解回收机制。其中包含每个项类型的模板项布局,并在此视图中将getView()方法作为convertView参数发送,因此您可以使用它来防止布局膨胀。