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

本文详细介绍了在Android开发中如何通过序列化Map对象来解决Bundle传递Map问题,包括封装Map类、传递数据及接收数据的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

转于:http://my.oschina.net/baishi/blog/182931

 

-------------------------------------------------------------------------------------------

 

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

 

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

 

 

 

01/**
02  * 序列化map供Bundle传递map使用
03  * Created  on 13-12-9.
04  */
05 public class SerializableMap implements Serializable {
06 
07     private Map<String,Object> map;
08 
09     public Map<String, Object> getMap() {
10         return map;
11     }
12 
13     public void setMap(Map<String, Object> map) {
14         this.map = map;
15     }
16}

 

第二步:传递数据:

 

 

 

1 Intent intent=new Intent(ListViewActivity.this,UpdateWatchActivity.class);
2                                 //传递数据
3                                 final SerializableMap myMap=new SerializableMap();
4                                 myMap.setMap(map);//将map数据添加到封装的myMap<span></span>中
5                                 Bundle bundle=new Bundle();
6                                 bundle.putSerializable("map", myMap);
7                                 intent.putExtras(bundle);

 

第三步:接收数据:

 

 

 

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

 

 

 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值