Android中使用Intent传递Object和ArrayList<Object>对象和获取
来源:互联网 发布:淘宝大学vip课有用么 编辑:程序博客网 时间:2024/06/06 13:07
序列化的两种方式,使用Serializable接口和parcelable
serializable只需要bean类继承serializable接口,而parcelable重写Parcelable接口中的两个方法和静态变量CREATOR.
传递一些基本类型数据的方法如下:
- putExtra(String name, int value)
- putExtra(String name, String value)
- putExtra(String name, float value)
- putExtra(String name, double value)
- putExtra(String name, long value)
- putExtra(String name, boolean value)
- putExtra(String name, byte value)
- putExtra(String name, char value)
传递基本类型ArrayList对象的方法如下:
- putIntegerArrayListExtra(String name, ArrayList《Integer》 value)
- putStringArrayListExtra(String name, ArrayList《Integer》 value)
但是我们并没有发现直接传递Object类型的方法,但是在开发中经常会需要传递一个Object类型或者ArrayList《Object》类型的数据,那么我们应该怎样实现呢?
方法如下:
传递Object类型:
- putExtra(String name, Serializable value)
- putExtra(String name, Parcelable value)
传递ArrayList《Object》类型:
- putExtra(String name, Serializable value)
- putExtra(String name, Parcelable value)
- putParcelableArrayListExtra(String name, ArrayList《? extends Parcelable》 value)
下面我们将student对象从Activity传递给Service。
Student类
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
Activity类:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
Service类:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
结果:
将ArrayList《Object》对象从MainActivity传递给SecondActivity:
MainActivity类:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
(注意:MainActivity类中在声明list的时候必须用ArrayList而不能用List,否则就会出现如图所示的提示错误信息,
)
SecondActivity类:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
运行结果:
以上是使用putExtra(String name, Serializable value)方法来进行Object和ArrayList《Object》的传递的代码。
通过 putExtra(String name, Parcelable value)和putParcelableArrayListExtra(String name, ArrayList《? extends Parcelable》 value)两个方法与putExtra(String name, Serializable value)的使用方法相同,只不过是序列化的方式不同。
0 0
- Android中使用Intent传递Object和ArrayList<Object>对象和获取
- Android中Intent传递Object和ArrayList<Object>对象---笔记
- Intent.putExtra()传递Object对象或者ArrayList<Object>
- Android Intent传递对象和ArrayList
- Android Intent传递对象和ArrayList
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)(转)
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- Android Intent传递object
- 使用intent把ArrayList<object>传递到另一个activity
- Android Intent传递对象和ArrayList【大明进化十八】
- android Intent传递 object , list<object>,list<Map<String,Object>>
- Android学习笔记3 使用Intent传递复杂的数据(对象,List<Object>等)
- maven修改默认目录结构(sourceDirectory/resources)
- C++exe做系统服务,自动加载
- iOS拍照之后图片自动旋转90度解决办法
- iOS TableView头视图根据偏移量下拉缩放的效果实现
- VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)
- Android中使用Intent传递Object和ArrayList<Object>对象和获取
- ListView实现上拉加载和下拉刷新
- docker使用阿里云镜像仓库
- 设计模式——策略模式
- 中间件漏洞以及防护
- docker 安装及使用 (ubuntu)
- 使用IDEA创建javaweb项目
- 中间件服务器架构:Keepalived+HaProxy+Thrift
- Codeforces Round #334 (Div. 2) D(数论 循环节)