创建一个继承Serializable的类,用于传递不同的map
public class SerializableMap implements Serializable {
private Map<String,String> stringMap;
private Map<String,int[]> intsMap;
public Map<String, String> getStringMap() {
return stringMap;
}
public void setStringMap(Map<String, String> stringMap) {
this.stringMap = stringMap;
}
public Map<String, int[]> getIntsMap() {
return intsMap;
}
public void setIntsMap(Map<String, int[]> intsMap) {
this.intsMap = intsMap;
}
}
传递:
private ArrayList<String> dataList = new ArrayList<String>();
private Map<String,String> statesMap = new HashMap<String, String>();
private Map<String,int[]> imagesMap = new HashMap<String,int[]>();
private Map<String,String> judgeIndexMap = new HashMap<String, String>();
Intent intent = new Intent(UrineResultActivity.this,UrineDetailActivity.class);
Bundle bundle = new Bundle();
intent.putExtra("dataList",dataList);
SerializableMap tmpmap=new SerializableMap();
tmpmap.setStringMap(statesMap);
bundle.putSerializable("statesMap", tmpmap);
SerializableMap tmpmap2=new SerializableMap();
tmpmap2.setStringMap(judgeIndexMap);
bundle.putSerializable("judgeIndexMap", tmpmap2);
SerializableMap tmpmap3=new SerializableMap();
tmpmap3.setIntsMap(imagesMap);
bundle.putSerializable("imagesMap", tmpmap3);
intent.putExtras(bundle);
startActivity(intent);
读取:
Intent intent = getIntent();
dataList = intent.getStringArrayListExtra("dataList");
Bundle bundle = intent.getExtras();
SerializableMap serializableMap1 = (SerializableMap) bundle
.get("statesMap");
statesMap = serializableMap1.getStringMap();
SerializableMap serializableMap2 = (SerializableMap) bundle
.get("judgeIndexMap");
judgeIndexMap = serializableMap2.getStringMap();
SerializableMap serializableMap3 = (SerializableMap) bundle
.get("imagesMap");
imagesMap = serializableMap3.getIntsMap();