2013-07-13 207 views
0

我想在活动之间用散列表发送数组列表,但给我null散列表与散列表。在android中的活动之间传递散列表的ArrayList?

发件人活动

ArrayList<HashMap<String,String>> childgame = new ArrayList<HashMap<String,String>>(); 
Intent ordernow= new Intent(CategoryActivity.this,OrderDetailActivity.class); 
ordernow.putExtra("orderlist",childgame);          
startActivity(ordernow); 

接收器的工作

Intent intent = getIntent(); 
Bundle bundle =intent.getExtras(); 
bundle.getSerializable("orderlist"); 
+0

试试这个'getIntent()。getSerializableExtra(“orderlist”)'。 – Raghunandan

回答

6

使用putExtra(String, Serializable)到在意图和getSerializableExtra(String)方法来检索数据传递值。

的ArrayList实现Serializable

http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

您已经有此

ordernow.putExtra("orderlist",childgame); 

以获取列表

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

public Serializable getSerializableExtra (String name)

在API级别1中添加

从意图中检索扩展数据。

参数

name所需项目的名称。

返回

先前与putExtra()或空加入,如果没有可序列化的值被发现的项的值。

+0

感谢我为我工作,但给我类型安全:未检查从串行化转换为ArrayList >此压制警告,所以如果我添加Add @ SuppressWarning是未来或旧版本中创建任何问题 –

+0

它的一个皮棉警告关于演员。 – Raghunandan

+0

http://stackoverflow.com/questions/509076/how-do-i-address-unchecked-cast-warnings。这里有一个可以提供帮助的链接。它的类型安全和它的皮棉警告。更好地检查类型转换。 – Raghunandan

1

试图通过在接收端使用采用getIntent().getSerializableExtra("orderlist")

相同类型的ArrayList接收数据!

ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("orderlist"); 
相关问题