1. 程式人生 > >android傳遞資料bundle封裝傳遞map物件

android傳遞資料bundle封裝傳遞map物件

android開發預設情況下,通過Bundle bundle=new Bundle();傳遞值是不能直接傳遞map物件的,解決辦法: 

第一步:封裝自己的map,實現序列化即可

/**
 * 序列化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;
    }
}

第二步:傳遞資料:
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);
第三步:接收資料:
Bundle bundle = getIntent().getExtras();
        SerializableMap serializableMap = (SerializableMap) bundle.get("map");

到此資料就能在通過map傳遞和使用了。