Android 使用自定义ArrayAdapter在onListItemClick()上获取特定项属性<&燃气轮机;

Android 使用自定义ArrayAdapter在onListItemClick()上获取特定项属性<&燃气轮机;,android,Android,我有一个ListActivity,它显示了我从互联网上的Web服务中获取的搜索结果列表。我将收到的XML解析为ArrayList,然后使用自己的适配器将其绑定到ListView(如MyObjectAdapterextendsArrayAdapter) 因此,我希望用户能够单击列表中的一个项目。每个项目都有一个标识符,该标识符随后将被放入一个意图中并发送到一个新的活动(该活动随后会基于此触发一个新的webservice请求,并下载其余的数据)。但是我不知道如何获得所选的MyObject的这个属性

我有一个
ListActivity
,它显示了我从互联网上的Web服务中获取的搜索结果列表。我将收到的XML解析为
ArrayList
,然后使用自己的适配器将其绑定到
ListView
(如
MyObjectAdapter
extends
ArrayAdapter

因此,我希望用户能够单击列表中的一个项目。每个项目都有一个标识符,该标识符随后将被放入一个意图中并发送到一个新的活动(该活动随后会基于此触发一个新的webservice请求,并下载其余的数据)。但是我不知道如何获得所选的
MyObject
的这个属性

以下是当前的
onListItemClick()
方法:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
  super.onListItemClick(l, v, position, id);

  String myObjectId;

  // I want to get this out of the selected MyObject class here

  Intent i = new Intent(this, ViewObject.class);
  i.putExtra("identifier_key", myObjectId);
  startActivityForResult(i, ACTIVITY_VIEW);
}

如果您使用的是ArrayAdapter,则必须使用数组初始化该适配器,对吗?因此,最好使用从
onListItemClick
获得的
position
,并从原始数组中获取对象

例如:

// somewhere you have this
ArrayList<MyObjects> theItemsYouUsedToInitializeTheArrayAdapter;

// and inside onListItemClick....
String myObjectId = theItemsYouUsedToInitializeTheArrayAdapter.get(position).getObjectId();
//在你的某个地方
用于初始化阵列适配器的阵列列表利润;
//而在onListItemClick中。。。。
字符串myObjectId=ItItemsYou用于初始化ArrayAdapter.get(位置).getObjectId();
试试这个
getIntent().getExtras().getString(键)