【问题标题】:How does ArrayAdapter getView() method works?ArrayAdapter getView() 方法是如何工作的?
【发布时间】:2011-06-22 15:03:04
【问题描述】:

我想做一个ArrayAdapter 来显示图像和文本。如果可能的话,我不想要例子。我想请人解释一下getView() 的工作原理。

谢谢。

【问题讨论】:

    标签: android android-arrayadapter


    【解决方案1】:

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

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

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

    您可以通过以下方式了解更多信息:

    【讨论】:

    • 第二个链接坏了。 :-(
    • 添加了一些新链接
    【解决方案2】:

    BaseAdapter 中,您有getView 函数,该函数由AdapterView 调用,即ListView

    您需要重写 BaseAdapter 的 getCount 方法以返回显示的视图总数。

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

    public View getView(int position, View convertView, ViewGroup parent) 
    
    1. 位置:

      getView 将为每个位置调用每次显示

    2. 转换视图

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

    3. 父母

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

    ArrayAdapterBaseAdapter 的子类,它在构造函数中采用ArrayList(或数组)。 并为您覆盖getCount

    所以你只需要实现getView

    【讨论】:

      猜你喜欢
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多