我在互联网上搜索,但我没有找到任何东西,我可以使用。所以这是我的问题:我有一个在列表视图中工作的 xml 解析器,但我想将歌曲的 id 提供给其他活动,以便我可以显示它。
1.首先,您需要OnItemClickListener()
方法进行ListView
2.然后,捕获单击的index of the row
后,使用Intent()
将其传递给另一个活动。
注意:
For this to work, please make the Map as static, and please do map.clear() , everytime before loading the Map with parsed data.
3.当你去另一个Activity
时,我希望你的歌曲在Map
和ListView
中的顺序是相同的,
所以假设你按下了ListView
上的第2项,传递的索引将是1,在其他Activity
中,只称Map's
为第1个索引。
注意:
添加标头将影响ListView
的索引,因此最好在onClick()
方法中使用getItemIdAtPosition(arg)
。
例如:
ListView lv = (ListView)findViewById(R.id.MyListView);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
i = new Intent(ProductActivity.this, ProductDetails.class);
i.putExtra("keyAapo", (int) lv.getItemIdAtPosition(arg2));
startActivity(i);
}
});
setTag()
和getTag()
方法通过 在这里看看我的答案如何从 onItemClick 访问数组适配器中的变量 getView
Intent 额外传递选项已经说过了,但是,如果您到了传递一堆数据的地步,您可以随时使 XML 处理器可重用并只传递 XML。它已经是一种编码格式