我想要ArrayAdapter
来显示图片和文字。如果可能,我不想要例子。我希望有人向我解释getView()
如何运作。
感谢。
答案 0 :(得分:24)
getView()
是适配器的主要部分。它返回View
,它将显示为列表/ grid / gallary /任何使用适配器项的视图。滚动视图时会触发它(例如列表)。
所以你应该首先创建自定义适配器。您可以从BaseAdapter
扩展它。然后你需要创建一些数据来显示(或从外面传递给适配器 - 它是更好的解决方案)。
在覆盖getView()
方法后,确保在那里返回自定义视图。在您的情况下,它应该是Layout
ImageView
和TextView
(并且不要忘记填写它们)。
您可以从以下方面了解更多信息:
答案 1 :(得分:10)
在BaseAdapter
中,getView
AdapterView
即ListView
getCount
号召唤public View getView(int position, View convertView, ViewGroup parent)
函数。
您需要覆盖BaseAdapter的getView
方法,才能将总视图数返回到diplay。
在getView中你会得到以下内容:
ArrayAdapter
位置:
每次显示时,每个位置都会调用getView 。
convertView
由于BaseAdapter
多次调用新的视图,每次都很昂贵,因此列表视图为您提供了之前创建的视图之一,可以重复使用。
父母
对此视图将成为其子视图的父视图的引用。
ArrayList
是getCount
的子类,它在构造函数中使用getView
(或数组)。
并为您覆盖{{1}}。
所以你需要实现的只是{{1}}