5

我从我的手册和互联网上阅读了很多解释 getView 方法的教程,但我不明白他们为什么使用它。谁能用一些例子或片段向我解释一下?

4

2 回答 2

13

getItem()返回项目的数据对象。它为您提供了一种访问适配器中数据的方法。例如,您的数组适配器保存字符串元素,getItem()返回一个字符串对象。

于 2012-12-25T12:13:44.610 回答
13

getView() 用于构造或重用 AdapterView 的子项。AdapterView 是一个包含多个项目的视图。例如,ListView 包含一些具有相同(或可能不同)结构的项目。getView() 用于在某个位置构建视图并用数据填充它。

getItem() 用于获取为指定 View 项提供数据的项。例如,如果您有一个包含文本项的 ListView,则 getItem() 必须返回一个 String 或 CharSequence。这是为了方便起见,例如在您的 onItemClickListener

@Override
public void onItemClick(AdapterView<?> av, View view, int pos,
    long arg3) {

    String selectedText = (String) av.getItemAtPosition(pos);
    // or av.getAdapter().getItem(pos);
}
于 2012-12-25T12:16:49.067 回答