如何在列表视图 onClick() 中从 POJO 获取 Item?

How to get Item from POJO in listview onClick()?

我有一个 POJO,它描述了一些模型(项目?)和一些自定义适配器。

我正在为 ListView 设置我的适配器,然后在 onItemClick() 中我想获取我添加到项目中的变量之一的值。

我怎样才能达到这个目标?

在我的代码中,我正在做类似的事情:

private List<SomeItem> items = new ArrayList();
items.add(new SomeItem(firstValueString, secondValueBitmap, thirdValueString));
SomeAdapter adapter = new SomeAdapter(this, R.layout.list_item, items);
listView.setAdapter(adapter);
listView.setOnItemClickListener(
...
@Override
public void onItemClick(){
//How to reach for example firstValueString value of currently clicked item??
}
)

使用android.widget.AdapterView.OnItemClickListener:

 listView.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {
        Log.d(LOG_TAG, "itemClick: position = " + position + ", id = "
            + id);
        SomeItem item = items.get(position); // specific item
      }
    });

基于 Android SDK 文档:

Implementers can call getItemAtPosition(position) if they need to access the data associated with the selected item.

如果您完全实现了您的适配器,那么您可以获得如下项目:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Item item = (Item)parent.getItemAtPosition(position);
    }
});