標籤:
android開發預設情況下,通過Bundle bundle=new Bundle();傳遞值是不能直接傳遞map對象的,解決辦法:
第一步:封裝自己的map,實現序列化即可
?
| 12345678910111213141516 |
/** * 序列化map供Bundle傳遞map使用 * Created on 13-12-9. */public class SerializableMap implements Serializable { private Map<String,Object> map; public Map<String, Object> getMap() { return map; } public void setMap(Map<String, Object> map) { this.map = map; }} |
第二步:傳遞資料:
?
| 1234567 |
Intent intent=new Intent(ListViewActivity.this,UpdateWatchActivity.class); //傳遞資料 final SerializableMap myMap=new SerializableMap(); myMap.setMap(map);//將map資料添加到封裝的myMap<span></span>中 Bundle bundle=new Bundle(); bundle.putSerializable("map", myMap); intent.putExtras(bundle); |
第三步:接收資料:
?
| 12 |
Bundle bundle = getIntent().getExtras(); SerializableMap serializableMap = (SerializableMap) bundle.get("map"); |
到此資料就能在通過map傳遞和使用了。
android傳遞資料bundle封裝傳遞map對象