ArrayAdapter 的 getView() 方法的说明
您能解释一下.getView()
ArrayAdapter
我阅读了文档,它有三个参数:
-
position
:项目在我们想要其视图的项目的适配器数据集中的位置。 -
convertView
:如果可能的话,重用旧视图。注意:在使用之前,您应该检查此视图是否为非 null 且类型合适。如果无法转换此视图以显示正确的数据,则此方法可以创建新视图。
异构列表可以指定其视图类型的数量,以便此视图始终是正确的类型(请参阅 getViewTypeCount() 和 getItemViewType(int))。 -
parent
:此视图最终将附加到的父级
我理解了这个参数。就像他们说的,这意味着项目的位置,谁被请求了视图。position
从何而来。我见过很多例子,他们检查是否为空。如果 is 为 null,则它们会膨胀行布局的新实例,填充该实例并返回该实例。我想我也已经明白了,但有一件事仍然让我感到困惑。通过参数传入的布局是什么。是 if 在初始化 ArrayAdapter
时传入的资源
参数吗?是否返回了 上一个布局的缓存副本?convertView
convertView
convertView
getView()
最后。该参数的作用。我没有看到太多的例子来利用这一点。他们中的大多数只是重用/膨胀行布局并将其返回。parent
(我问,因为我的.特别是这个旨在复制Spotify的下拉快速操作菜单。我的动画有点迟钝。在诊断了这个问题一段时间后,我意识到这是由于我的方法需要一点时间才能完成,因为我在每次迭代中都会膨胀新的行布局。有人建议缓存行布局,而其他示例指出重用参数,即如果为 null,则仅膨胀行布局。ListView
getView()
ViewHolder
convertView
convertView