android小問題:Bundle傳遞對象 序列化問題

來源:http://my.oschina.net/baishi/blog/182931

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傳遞和使用了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章