我想要创建一个ArrayAdapter
来展示图像和文本。如果可能的话,我不想要例子。我希望有人能够解释一下getView()
方法是如何工作的。
谢谢。
我想要创建一个ArrayAdapter
来展示图像和文本。如果可能的话,我不想要例子。我希望有人能够解释一下getView()
方法是如何工作的。
谢谢。
getView()
是你的适配器的主要部分。它返回一个View
,该视图将作为列表/网格/画廊或使用适配器项的任何视图显示。当您滚动视图(例如列表)时,它会触发。
因此,您应该首先创建自定义适配器。您可以从BaseAdapter
扩展它。然后,您需要创建一些要显示的数据(或从外部传递它们到适配器 - 这是更好的解决方案)。
之后,覆盖getView()
方法,并确保在其中返回您的自定义视图。在您的情况下,它应该是一个带有ImageView
和TextView
的Layout
(不要忘记填充它们)。
您可以了解更多信息:
在BaseAdapter
中,你有一个被AdapterView
调用的getView
函数,例如ListView
。
你需要重写BaseAdapter的getCount
方法,返回要显示的视图的总数。
在getView中,你可以获得以下内容:
public View getView(int position, View convertView, ViewGroup parent)
位置:
每次显示时,都会调用 getView 来呈现每个位置。
convertView
由于每次调用 getView
都要膨胀一个新视图,这是很昂贵的,因此列表视图提供了一个先前创建的视图以重用。
parent
这个视图将成为其子级的父视图的引用。
ArrayAdapter
是 BaseAdapter
的子类,它在构造函数中使用 ArrayList
(或数组)并覆盖了 getCount
。
所以你需要实现的就是 getView
。