您的位置:首页 > 移动开发 > Android开发

【Android】切换Activity时使用Bundle封装Map对象

2016-07-11 10:33 453 查看
Android默认是不能在Bundle里传递Map对象,所以需要将Map对象序列化。首先构造一个SerializableMap类:

public class SerializableMap implements Serializable {
private Map<String,String> map;

public Map<String, String> getMap() {
return map;
}

public void setMap(Map<String, String> map) {
this.map = map;
}
}


然后使用Bundle封装序列化后的Map

final SerializableMap myMap=new SerializableMap();
myMap.setMap(map);
Bundle bundle=new Bundle();
bundle.putSerializable("map",myMap);
Intent intent=new Intent(MainActivity.this,ContentActivity.class);
intent.putExtras(bundle);
startActivity(intent);


最后在接收端获取SerializableMap类

Bundle bundle=getIntent().getExtras();
SerializableMap serializableMap=(SerializableMap)bundle.get("map");
Map<String,String> map=serializableMap.getMap();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android Map