1

我有以下类型的 ArrayList:

ArrayList<HashMap<String, String>> data

我试图将此传递dataBundle我没有找到任何方法来实现它。我最接近的是:

putParcelableArrayList

有人可以帮忙吗?

4

2 回答 2

3

ArrayList 是可序列化的(以及 HashMap 和字符串),因此请尝试putExtra(String, Serializable)IntentandgetSerializableExtra(String)方法中传递值来检索数据。

将活动 A传递ArrayList<HashMap<String, String>>给活动 B

Intent intent = new Intent(this, B.class);
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("key", "value");
ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>();
arl.add(hm);
intent.putExtra("data", arl);
startActivity(intent);

在下一个活动中检索如下数据

ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("data");
System.out.println("serialized data.."+arl);
于 2013-10-04T05:53:11.833 回答
0

我认为您正在尝试传递数据 b/w 活动。你可以做这样的事情

发件人

ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>();
intent.putExtra("orderlist", arl);

接收者

Intent intent = getIntent();
ArrayList<HashMap<String,String>> list = (ArrayList<HashMap<String, String>>) intent.getSerializableExtra("orderList"); 
于 2013-10-04T05:52:45.770 回答