将arraylist从意图转移到另一个

时间:2015-09-09 05:24:48

标签: android android-intent arraylist hashmap

在问这里之前,我首先搜索如何将一个arraylist从一个意图传递给另一个。感谢SO上的帖子之一,我以为我找到了一种方法。

问题是,当我尝试显示目标活动的arraylist中的元素时,我只能获得我最初在出发活动中拥有的众多元素之一。

要说清楚,这是我的fisrt活动中的代码:

HashMap map = new HashMap<String,String>();

map.put("key1","value1");
map.put("key2","value2");

arrayList.add(map);
Log.d("arrayList", String.valueOf(arrayList));

在logcat中,我有预期的元素:

D/arrayList:: [{"key1":"value1"},{"key2","value2"}

然后,我追求这个:

Intent intent = new Intent(MyFirstActivity.this,MySecondActivity.class);
intent.putExtra("arrayList",arrayList);

现在,这是我的第二个活动,应该是收到的元素。

Intent intent = getIntent();
arrayList = (ArrayList<HashMap<String,String>>) getIntent().getSerializableExtra("arrayList");
Log.d("arraySecondActivity", String.valueOf(arrayList));

在logcat中,只显示我的第二项:

D/arraySecondActivity: [{key2=value2}]

我不知道为什么......有人知道吗?

谢谢!

0 个答案:

没有答案