1

I want to send the arraylist with hashmap between activities but is give me null arraylist with hashmap.

Sender Activity

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

Receiver Activity

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

2 回答 2

6

用于putExtra(String, Serializable)传递 Intent 中的值和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() 添加的项目的值,如果未找到可序列化的值,则返回 null。

于 2013-07-13T10:56:57.150 回答
1

尝试使用 getIntent().getSerializableExtra("orderlist")

在 Receiver 端使用:相同类型的 ArrayList 来接收数据!

ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("orderlist");
于 2013-07-13T10:48:46.900 回答