在Bundle中插入ArrayList

时间:2013-10-04 05:44:46

标签: android arraylist hashmap bundle

我有一个以下类型的ArrayList:

ArrayList<HashMap<String, String>> data

我正在尝试将此data传递给Bundle我找不到任何实现此方法的方法。我最接近的是:

putParcelableArrayList

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

ArrayList是Serializable(以及HashMaps和Strings),因此请尝试putExtra(String, Serializable)传递IntentgetSerializableExtra(String)方法中的值以检索数据。

ArrayList<HashMap<String, String>>从活动A传递到活动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);

答案 1 :(得分:0)

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

发件人

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

Reciever

Intent intent = getIntent();
ArrayList<HashMap<String,String>> list = (ArrayList<HashMap<String, String>>) intent.getSerializableExtra("orderList");