当数组中的 getView() 调用Adapter 时

在Android中创建自定义时,我看到我必须创建一个扩展类并实现该方法的类。adapterListViewArrayAdaptergetView(..)

所有这些都可以,但我想知道调用方法和执行的顺序。即,在哪个代码点调用 ?getView()


答案 1

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

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

参考此链接 Android 自定义 ArrayAdapter getView 方法调用多次 - 重置动态文本查看值


答案 2

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

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

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