调用ArrayAdapter中的getView()时

Adh*_*ham 16 java layout android adapter android-arrayadapter

当创建一个定制adapterListViewandroid系统中,我看到,我要创建一个类的扩展ArrayAdapter类并实现getView(..)方法.

所有这一切都没问题,但我想知道调用方法和执行的顺序.即在哪个代码点getView()被调用?

Kri*_*Kri 13

多次调用ArrayAdapter的getView()....

  1. 作为添加新行的时间......
  2. 向上滚动并向下滚动列表视图....
  3. 列表未更改时..

请参阅此链接 多次调用Android自定义ArrayAdapter getView方法 - 重置动态TextView值


Ana*_*moy 8

来自android文档 - Adapter对象充当AdapterView(在您的情况下为ListView)与该视图的基础数据之间的桥梁.适配器提供对数据项的访问,还负责为数据集中的每个项目创建视图.

因此,每当ListView需要显示特定的数据行时,它就会请求关联的适配器通过getView()方法提供与该位置的数据相对应的视图.每当需要在屏幕上更新视图时(例如,在创建/滚动等期间),这可能发生.

作为应用程序开发人员,只要在适配器中提供具体的getView()实现,就不必担心在何时调用getView().确保方法有效(缩略图等应加载到后台线程中)以获得最佳性能.