Activity跳转交换数据
来源:互联网 发布:淘宝01店手机是真的吗 编辑:程序博客网 时间:2024/06/05 00:16
这里使用了常见的Bundle和全局变量的方式。
Activity1的代码:
String data = "Hello Sctivity2";Intent intent = new Intent(Activity1.this, Activity2.class);intent.putExtra("data", "data");Person person = new Person();person.setId("1");person.setName("徐某某");//Person实体类,有Id和Name两个字段和相应set/get方法。//使用全局变量的方式传递参数GlobalVariables.Per = person;startActivity(intent);
GlobalVariables类是一个全局变量,代码如下:
public class GlobalVariables { public static Person Per;}
目标页Activity2的代码:
Intent intent = getIntent();String data = intent.getStringExtra("data");Log.d("Activity2", data);Person person = GlobalVariables.Per;if(person != null) { personName = person.getName();} else { personName = "";}Log.d("Activity2",personName);
这里还要注意一点:我们在Activity1中直接使用intent.putExtra()
Intent的putExtra(String name, Xxx value)方法是“智能”的,当程序调用Intent的putExtra(String name, Xxx value)方法向Intent中存入数据时,如果该Intent中已经携带了Bundle对象,则该方法直接向Intent所携带的Bundle存入数据;如果Intent还没有携带Bundle对象,putExtra(String name, Xxx value)方法会先为Intent创建一个Bundle,再向Bundle存入数据。 ———-《疯狂android讲义》李刚
这里是一个android面试题:Intent可以传递的数据类型(abcd)(多选)
A、Serializable B、charsequence C、Parcelable D、Bundle
具体参看: Intent可以传递的数据类型
Android:Intent传递数据的几种类型和源码实现
另外这篇博文介绍了使用intent在三个activity之间互相跳转传值
使用intent在三个activity之间互相跳转传值
下一节将讨论使用全局变量的安全问题。
0 0
- Activity跳转交换数据
- Activity跳转的数据交换问题---Activity学习笔记(二)
- activity 数据交换
- Activity中的数据交换
- Android activity数据跳转
- 带数据跳转Activity
- 跳转Activity携带数据
- Activity返回数据的跳转
- activity跳转时携带数据:
- activity跳转传递数据问题
- 使用Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- 使用Bunble在Activity之间交换数据
- Activity与Fragment之间的数据交换
- Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- Bundle在Activity之间交换数据
- Elasticsearch-2.3.x填坑之路
- 1031. Hello World for U (20)
- spring的工作原理总结
- [MTK] BT驱动调试总结
- glog 的使用
- Activity跳转交换数据
- Swap Nodes in Pairs
- 自定义分享
- C++中 构造函数 析构函数 能否调用虚函数的问题
- VS 调试和承载进程
- *.c~文件
- 小白笔记----------------------Mysql5.7.12之字符集设置
- adb怎么判断是否有root权限,并更改system/app内容
- 【程序中打印调用栈信息方法】 backtrace和backtrace_symbols函数