我想将此结构从意图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中不为空。
有什么问题? 感谢。
答案 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”,这意味着你已经把东西放在那里,但它是空的。