转于: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);
|
第三步:接收数据:
1 | Bundle bundle = getIntent().getExtras(); |
2 |
SerializableMap serializableMap = (SerializableMap) bundle.get("map");
|
到此数据就能在通过map传递和使用了。
本文详细介绍了在Android开发中如何通过序列化Map对象来解决Bundle传递Map问题,包括封装Map类、传递数据及接收数据的具体步骤。
646

被折叠的 条评论
为什么被折叠?



