ArrayAdapter getView()方法如何工作?
我想要做一个ArrayAdapter
来显示图像和文本。 如果可能,我不想要示例。 我希望有人解释我如何getView()
作品。
谢谢。
getView()
是适配器的主要部分。 它返回View
,将显示为您的列表/网格/ gallary /使用适配器项目的任何视图。 它会在您滚动视图时触发(例如列表)。
所以你应该做的第一件事就是创build自定义适配器。 您可以从BaseAdapter
扩展它。 然后你需要创build一些数据来显示(或从外部传递给适配器 – 它的更好的解决scheme)。
之后,重写getView()
方法,并确保返回您的自定义视图。 在你的情况下,它应该是一个带ImageView
和TextView
的Layout
(并且不要忘记填充它们)。
您可以从以下方面了解更多
在BaseAdapter
您有一个AdapterView
即ListView
调用的AdapterView
函数。
您需要重写BaseAdapter的getCount
方法以将总视图数返回到diplay。
而在getView中,你会得到如下的东西:
public View getView(int position, View convertView, ViewGroup parent)
-
位置:
每次显示 getView都会被调用。
-
convertView
由于
getView
会多次调用新的视图,每次都是昂贵的,因此列表视图为您提供了以前创build的视图之一以供重用。 -
亲
对父视图的引用,这个视图将是子视图。
ArrayAdapter
是BaseAdapter
的子类,它在构造函数中使用ArrayList
(或数组)。 并为您覆盖getCount
。
所以你需要实现的是getView