ArrayAdapter getView()方法如何工作?

Ale*_*eno 37 android android-arrayadapter

我想做一个ArrayAdapter显示图像和文字.如果可能,我不想要例子.我希望有人向我解释getView()工作原理.

谢谢.

Yak*_*pan 24

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

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

在覆盖getView()方法之后,确保在那里返回自定义视图.你的情况应该是LayoutImageViewTextView(不要忘记,以填补他们).

您可以从以下方面了解更多

  • 添加了很少的新链接 (4认同)

vip*_*tal 10

BaseAdapter你有getView一个被AdapterViewie 调用的函数ListView.

您需要覆盖getCountBaseAdapter的方法以返回到diplay的总视图数.

在getView中,您可以获得以下内容:

public View getView(int position, View convertView, ViewGroup parent) 
Run Code Online (Sandbox Code Playgroud)
  1. 位置:

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

  2. convertView

    因为getView每次调用新视图很多次都很昂贵所以列表视图为您提供了之前创建的视图之一以供重用.

  3. 对此视图将成为子视图的父视图的引用.

ArrayAdapter是一个子类的BaseAdapter这需要ArrayList在构造(或阵列).并覆盖getCount你.

所以你需要实现的只是 getView