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

Vai*_*avi 11 android android-layout android-listview

我正在努力ListView.我想知道什么时候getView()被称为.一旦适配器被设置,它是否被调用?一旦getView()方法完成执行,是否会调用"设置适配器"旁边的行?

一旦getView()完成执行,请帮助我知道哪一行被执行.

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

感谢Vaishnvai

sup*_*erM 12

getView()为传递给适配器的列表中的每个项调用.设置适配器时调用它.当getView()在完成后的下一行setAdapter(myAdapter)被调用.为了调试getView()必须在其切换断点,因为你不能踏入getView()setAdapter(myAdapter). 在滚动getView()之后也会调用notifyDataSetChanged().

  • 嘿.一旦getView()被激活,控件就不会回到setAdapter()旁边的语句.事实上,一旦调用了setAdapter(),控件就不直接转到getView(),几乎所有语句都得到了优先权,然后控件移动到getView().我文学上对这种行为感到困惑.请帮忙. (3认同)

Meh*_*ŞAR 7

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