Intent之对象传递(Serializable传递对象和对象集合)html
Android中Intent传递类对象提供了两种方式一种是 经过实现Serializable接口传递对象,一种是经过实现Parcelable接口传递对象。java
要求被传递的对象必须实现上述2种接口中的一种才能经过Intent直接传递。android
Intent中传递这2种对象的方法:app
?布局
1this 2spa 3code |
|
假设由登陆界面(Login)跳转到主界面(MainActivity)传递的对象为登陆的用户信息 User类
1.首先建立一个序列化类:User
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 |
|
注意点,类实现Serializable接口
2.布局文件很简单,main.xml中一个Button,login.xml中一个TextView:
1 2 |
|
1 2 3 4 5 6 |
|
3.MainActivity.java
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 |
|
4.接收Activity--LoginActivity.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
5.运行实例以下:
能够看出,对象已经成功传过来了!
1.布局文件没有改变,咱们看一下MainActivity.java:
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 |
|
2.看一下接收Activity--LoginActivity.java
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 |
|
3.运行实例:
咱们看出,已经从对象集合中取出对象了!
1.Bundle.putSerializable(Key,Object); //实现Serializable接口的对象;
2.获取对象User user = (User) intent.getSerializableExtra(user);
3.bundle.putSerializable(list,(Serializable)list);//对象集合存入方式;
4.list = (List) intent.getSerializableExtra(list);//获取对象集合list方式