文档章节

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

EDIAGD
 EDIAGD
发布于 2013/12/10 10:54
字数 231
阅读 17506
收藏 3

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中
                                Bundle bundle=new Bundle();
                                bundle.putSerializable("map", myMap);
                                intent.putExtras(bundle);

第三步:接收数据:

 

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

 

 

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

 

后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

 

 

 

© 著作权归作者所有

EDIAGD
粉丝 50
博文 149
码字总数 58327
作品 0
嘉定
后端工程师
私信 提问
加载中

评论(1)

狼尹天下
狼尹天下
赞一个,

public class MyList implements Serializable {
  
  private List<Map<String,Object>> list;

  public List<Map<String, Object>> getList() {
    return list;
  }

  public void setList(List<Map<String, Object>> list) {
    this.list = list;
  }

}
0
【Android基础】页面跳转与传值(Activity跳转与传值)

一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求。 本次我们就讲一下,Android中页面跳转以及传值的几种方式! Acti...

晨曦之光
2012/03/01
5.9K
0
Android传值Intent和Bundle区别

原文: http://tryenough.com/android-intent-bundle 小伙伴问Android传值Intent和Bundle区别,特此总结下: Intent与Bundle在传值上的区别 首先从使用上: Intent方式: 假设需要将数据从页...

TryEnough
03/06
0
0
Android零基础入门第81节:Activity数据传递

在Android开发中,经常要在Activity之间传递数据。前面也学习了Activity和Intent相关基础,接下来一起来学习Activity的数据传递。 一、简介 通过前面的学习知道,Intent可以用来开启Activit...

鑫鱻
2017/10/23
52
0
Android应用开发—Application

What is Application Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个application对象,用来存储系统的一些信息。通常我们是不需要指定...

image_c
2018/05/28
0
0
Intent传递的数据

Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选) A、Serializable B、charsequence C、Parcelable D、Bundle Serializable :将 Java 对象序列化为二进制文件的 Java 序列化技...

长平狐
2012/09/03
833
0

没有更多内容

加载失败,请刷新页面

加载更多

对比ubuntu与centos系统 ​​​​

CentOS与Ubuntu该如何选择,哪个更好用。笔者在自媒体平台收集了一些网友的观点,较为经典,分享给大家。至于应该选择哪个,希望看完本文章后,读者心中有数。 观点1:CentOS适用于服务器,U...

老孟的Linux私房菜
今天
12
0
Java的基本类型

一、Java的基本类型 Java的基本类型有哪些? boolean char byte short int long float double ? 延伸思考 思考一:为什么有的书籍说Java存在第9种数据类型? 实际上,JAVA中还存在另外一种基...

yumoop
今天
14
0
OSChina 周四乱弹 —— 富婆小时候

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @猿敲月下码 :#今日歌曲推荐# 分享陈慧娴的单曲《夜机》 《夜机》- 陈慧娴 手机党少年们想听歌,请使劲儿戳(这里) @開源中國張學友 :早上...

小小编辑
今天
23
0
MyMinimad ── Linux下用libmad写的mp3解码播放程序(四)

优化了内存使用,不再使用mmap映射整个文件到内存 /* * 本程序是从 minimad 改进而来,如要更详细的说明请参看 minimad.c * * Gu Zhou, 2009/12/25, SiChuan University, China *...

代码强国
今天
18
0
Minikube安装

1、下载Minikube二进制文件 sudo curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/latest/minikube-linux-amd64 2、设置权限 sudo chmod +x minikube......

RogueQ
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部