Android从两个活动传递哈希表

时间:2012-03-07 16:16:22

标签: java android android-activity hashtable

我想将此结构从意图A传递给意图B: 哈希表> parsedData;

我这样做: //意图A

Intent intent = new Intent(A.this,B.class);
intent.putExtra("placemarkOnMap", placemarkOnMap);`

//意图B

Serializable data = getIntent().getSerializableExtra("placemarkOnMap"); 
placemarkOnMap = new Hashtable<String, Hashtable<String,String>> ((Hashtable<String, Hashtable<String,String>>)data); 

此返回placemarkmarkOnMap = {}但placemarkOnMap在活动A中不为空。

有什么问题? 感谢。

1 个答案:

答案 0 :(得分:0)

您不需要创建新的Hashtable并使用从intent获得的Hashtable进行初始化。这样:

  placemarkOnMap = new Hashtable<String, Hashtable<String,String>> ((Hashtable<String, Hashtable<String,String>>)data);

可以替换为:

placemarkOnMap = (Hashtable<String, Hashtable<String,String>>)data;

除此之外,请确保您的Hashtable在将其放入intent之前具有值。因为somethin得到deserializd的“placemarkOnMap”,这意味着你已经把东西放在那里,但它是空的。