ArrayAdapter getView()方法如何工作?

时间:2011-06-22 15:03:04

标签: android android-arrayadapter

我想要ArrayAdapter来显示图片和文字。如果可能,我不想要例子。我希望有人向我解释getView()如何运作。

感谢。

2 个答案:

答案 0 :(得分:24)

getView()是适配器的主要部分。它返回View,它将显示为列表/ grid / gallary /任何使用适配器项的视图。滚动视图时会触发它(例如列表)。

所以你应该首先创建自定义适配器。您可以从BaseAdapter扩展它。然后你需要创建一些数据来显示(或从外面传递给适配器 - 它是更好的解决方案)。

在覆盖getView()方法后,确保在那里返回自定义视图。在您的情况下,它应该是Layout ImageViewTextView(并且不要忘记填写它们)。

您可以从以下方面了解更多信息:

答案 1 :(得分:10)

BaseAdapter中,getView AdapterViewListView getCount号召唤public View getView(int position, View convertView, ViewGroup parent) 函数。

您需要覆盖BaseAdapter的getView方法,才能将总视图数返回到diplay。

在getView中你会得到以下内容:

ArrayAdapter
  1. 位置:

    每次显示时,每个位置都会调用getView

  2. convertView

    由于BaseAdapter多次调用新的视图,每次都很昂贵,因此列表视图为您提供了之前创建的视图之一,可以重复使用。

  3. 父母

    对此视图将成为其子视图的父视图的引用。

  4. ArrayListgetCount的子类,它在构造函数中使用getView(或数组)。 并为您覆盖{{1}}。

    所以你需要实现的只是{{1}}