在android中创建自定义adapter
时ListView
,我看到我必须创建一个扩展ArrayAdapter
类并实现该getView(..)
方法的类。
一切正常,但我想知道调用方法和执行的顺序。即在哪个代码点getView()
被调用?
在android中创建自定义adapter
时ListView
,我看到我必须创建一个扩展ArrayAdapter
类并实现该getView(..)
方法的类。
一切正常,但我想知道调用方法和执行的顺序。即在哪个代码点getView()
被调用?
ArrayAdapter 的 getView() 被多次调用......
请参阅此链接 Android 自定义 ArrayAdapter getView 方法多次调用 - 重置动态 TextView 值
来自 android docs - Adapter 对象充当 AdapterView (例如您的情况下的 ListView )和该视图的基础数据之间的桥梁。Adapter 提供对数据项的访问,还负责为数据集中的每个项创建一个视图。
因此,每当 ListView 需要显示特定行的数据时,它都会通过 getView() 方法请求关联的适配器提供与该位置的数据对应的视图。只要需要在屏幕上更新视图(例如,在创建/滚动等期间),就会发生这种情况。
作为应用程序开发人员,只要您在适配器中提供具体的 getView() 实现,您就不必担心究竟在什么时候调用 getView()。确保该方法有效(缩略图等应加载到后台线程中)以获得最佳性能。
getView(int position, View view, ViewGroup parent)
被称为
List of Objects
使用的元素数量
getItem(int position)
对于我们列表的长度
所以,直到你的整个列表被分配了一个布局和列表中的数据,它才会被调用。