arrayAdapter中的getItem()如何工作?

时间:2012-12-25 12:09:46

标签: android listview

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

2 个答案:

答案 0 :(得分:13)

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

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);
}

答案 1 :(得分:12)

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