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