【发布时间】:2013-10-04 05:44:46
【问题描述】:
我有以下类型的 ArrayList:
ArrayList<HashMap<String, String>> data
我正在尝试将此data 传递给Bundle 我没有找到任何方法来实现它。我最接近这个的是:
putParcelableArrayList
有人可以帮忙吗?
【问题讨论】:
标签: android arraylist hashmap bundle
我有以下类型的 ArrayList:
ArrayList<HashMap<String, String>> data
我正在尝试将此data 传递给Bundle 我没有找到任何方法来实现它。我最接近这个的是:
putParcelableArrayList
有人可以帮忙吗?
【问题讨论】:
标签: android arraylist hashmap bundle
ArrayList 是可序列化的(以及 HashMaps 和 Strings),因此请尝试 putExtra(String, Serializable) 在 Intent 和 getSerializableExtra(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);
【讨论】:
我认为您正在尝试传递数据 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");
【讨论】: