码迷,mamicode.com
首页 > 移动开发 > 详细

android传递数据bundle封装传递map对象

时间:2016-01-11 20:20:22      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

android开发默认情况下,通过Bundle bundle=new Bundle();传递值是不能直接传递map对象的,解决办法:

第一步:封装自己的map,实现序列化即可

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
 * 序列化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;
    }
}

第二步:传递数据:

 

1
2
3
4
5
6
7
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);

第三步:接收数据:

 

1
2
Bundle bundle = getIntent().getExtras();
        SerializableMap serializableMap = (SerializableMap) bundle.get("map");

 

 

到此数据就能在通过map传递和使用了。

android传递数据bundle封装传递map对象

标签:

原文地址:http://www.cnblogs.com/mochaMM/p/5122148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!