转-Activity之间数据传递之Intent数据传递
Intent意图 可用于Activity之间的数据传递,一般可分为下面两种情况,从当前Activity传递到目标Activity后有无返回值: 1.传递后无返回值的情况:
|
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
47
48
49
50
|
在起始Activity中,发送数据 protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); setContentView(R.layout.thisactivity); Intent intent = new Intent(); //设置起始Activity和目标Activity,表示数据从这个Activity传到下个Activity intent.setClass(ThisActivity.this,TargetActivity.class); //绑定数据 intent.putExtra("username",username);//也可以绑定数组 intent.putExtra("userpass",userpass); //打开目标Activity startActivity(intent); } 在目标Activity中,接收数据: protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); setContentView(R.layout.targetactivity); //获得意图 Intent intent = getIntent(); //读取数据 String name = intent.getStringExtra("username"); String pass = intent.getStringExtra("userpass); }也可以适用Bundle(捆) 在起始Activity中,发送数据: protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); setContentView(R.layout.thisactivity); Intent intent = new Intent(); //设置起始Activity和目标Activity,表示数据从这个Activity传到下个Activity intent.setClass(ThisActivity.this,TargetActivity.class); //一次绑定多个数据 Bundle bundle = new Bundle(); bundle.putString("username",username); bundle.putString("userpass",userpass); intent.putExtras(bundle); //打开目标Activity startActivity(intent); } 在目标Activity中,接收数据: protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); setContentView(R.layout.targetactivity); //获得意图 Intent intent = getIntent(); //读取数据 Bundle bundle = intent.getExtras(); String name = bundle.getString("username"); String pass = bundle.getString("userpass"); } |
2. 传递后有返回值的情况:当需要从目标Activity回传数据到原Activity时,可以使用上述方法定义一个新的Intent来传递数据,也可以使用 startActivityForResult (Intent intent, int requestCode);方法。
|
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
|
在起始Activity中,发送数据: protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); setContentView(R.layout.thisactivity); Intent intent = new Intent(); //设置起始Activity和目标Activity,表示数据从这个Activity传到下个Activity intent.setClass(ThisActivity.this,TargetActivity.class); //绑定数据 intent.putExtra("username",username);//也可以绑定数组 intent.putExtra("userpass",userpass); //打开目标Activity startActivityForResult(intent,1); } //需要重写onActivityResult方法 protected void onActivityResult(int requestCode, int resultCode, Intent intent){ super.onActivityResult(requestCode,resultCode,intent); //判断结果码是否与回传的结果码相同 if(resultCode == 1){ //获取回传数据 String name = intent.getStringExtra("name"); String pass = intent.getStringExtra("pass); //对数据进行操作 ...... } 在目标Activity中,接收数据: protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); setContentView(R.layout.targetactivity); //获得意图 Intent intent = getIntent(); //读取数据 String name = intent.getStringExtra("username"); String pass = intent.getStringExtra("userpass); //从EditText中获取新的数据给name和pass name = editText1.getText().toString(); pass = editText2.getText().toString() //数据发生改变,需要把改变后的值传递回原来的Activity intent.putExtra("name",name); intent.putExtra("pass",pass); //setResult(int resultCode,Intent intent)方法 setResult(1,intent); //销毁此Activity,摧毁此Activity后将自动回到上一个Activity finish();} |
转-Activity之间数据传递之Intent数据传递的更多相关文章
- Android activity之间的跳转和数据传递
1.Activity之间的跳转 并且 传递数据 A Activity进行的操作 Intent intent = new Intent(context, B.class); intent.putExtr ...
- intent--Activity之间数据传递之Intent数据传递
intent传值: 4,intent传集合 3,intent传对象, 2,传递后有返回值的情况:当需要从目标Activity回传数据到原Activity时,可以使用上述方法定义一个新的Intent来传 ...
- Android笔记(三) 使得Activity之间可以跳转---Intent
什么是Intent 一个APP肯定不单单由一个Activity构成,我们在使用过程中,经常需要在多个Activity中跳转,Android中Intent可以帮我们来完成在各个Activity中跳转的功 ...
- 在activity之间传递数据
在activity之间传递数据 一.简介 二.通过intent传递数据 1.在需要传数据的界面调用 intent.putExtra("data1", "我是fry&quo ...
- Android Activity之间的数据传递
1.向目标Activity传递数据: Intent intent=new Intent(this,Main2Activity.class); //可传递多种类型的数据 intent.putExtra( ...
- 建立、配置和使用Activity——使用Bundle在Activity之间交换数据
当一个Activity启动另一个Activity时,常常会有一些数据需要传过去——这就像Web应用从一个Servlet跳到另一个Serlvet时,Web应用习惯把需要交换的数据放入requestSco ...
- 杂记之activity之间的跳转
代码结构图 manifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xml ...
- 【Android 应用开发】Activity生命周期 与 Activity 之间的通信
一. Activity生命周期 上图 1. Activity状态 激活状态 : Activity出于前台 , 栈顶位置; 暂停状态 : 失去了焦点 , 但是用户仍然可以看到 , 比如弹出一个对话框 , ...
- Activity生命周期 与 Activity 之间的通信
一. Activity生命周期 上图 1. Activity状态 激活状态 : Activity出于前台 , 栈顶位置; 暂停状态 : 失去了焦点 , 但是用户仍然可以看到 , 比如弹出一个对话框 , ...
随机推荐
- Jquery实现图片的预加载与延时加载
有很多项目经常会需要判断图片加载完成后执行相应的操作,或者需要图片延迟加载,网上虽然已经有很不错的插件,但要为这些效果还得单独加载一个插件的话总感觉有点不舒服,干脆自己写了个方法: 1 2 3 4 5 ...
- PPT图片快速编辑技巧
修改*.ppt或*.pptx的后缀名为zip 例如:demo.pptx修改为demo.zip 修改为, 使用压缩软件打开此压缩包, 一般图片资源都会存放在ppt/media下 找到你所要修改的图片,然 ...
- Linux嵌入式入门
虚拟机Linux系统网络配置: 1.Vmware网络设置 虚拟机设置->网路适配器->网络连接 桥接模式:能提供独立的IP地址的情况下使用 NAT模式:一台计算机只能使用一个I ...
- curl网站开发指南
我一向以为,curl只是一个编程用的函数库. 最近才发现,这个命令本身,就是一个无比有用的网站开发工具,请看我整理的它的用法. =================================== ...
- Object-c 语言
字符串操作: http://www.myexception.cn/mobile/455287.html 1,判断两字符串是否相同 NSString *str1 = @"hello pepe& ...
- Concurrent inserts on MyISAM and the binary log
Recently I had an interesting surprise with concurrent inserts into a MyISAM table. The inserts were ...
- 在Linux中搭建一个FTP服务器
在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...
- tomcat-8.0
https://tomcat.apache.org/tomcat-8.0-doc/introduction.html
- python ImportError: No module named 的问题
https://my.oschina.net/leejun2005/blog/109679 python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包.只要模块或者包所 ...
- Keepalived 双机web服务宕机检测切换系统软件
简介 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Kee ...