文档章节

浅析:Acitivity间数据的传递

 红豆与绿豆
发布于 2015/09/21 09:55
字数 421
阅读 28
收藏 2

使用startActivityForResult方法进行数据传递。

 

MainActivity.java

1 public class MainActivity extends Activity {

 2     Button  btn;

 3     @Override

 4     protected void onCreate(Bundle savedInstanceState) {

 5         super.onCreate(savedInstanceState);

 6         setContentView(R.layout.activity_main);

 7         Button btn=(Button)findViewById(R.id.button1);

 8         btn.setOnClickListener(new OnClickListener(){

 9             @Override

10             public void onClick(View arg0) {

11                 Intent intent=new Intent(MainActivity.this,OtherActivity.class);

12                 startActivityForResult(intent,1);   

13             }       

14         });

15            

16        

17     }

18     protected void onActivityResult(int requestCode,int resultCode,Intent data){

19         switch(requestCode){

20         case 1:

21         String result=data.getExtras().getString("result");

22         }

23     }   

24

25 }

 

OtherActivity.java

1 public class OtherActivity extends Activity {

 2     Button btn2;   

 3     /**

 4      * @param args

 5      */

 6     protected void onCreate(Bundle savedInstanceState) {

 7         super.onCreate(savedInstanceState);

 8         setContentView(R.layout.activity_other);

 9         Button btn2=(Button)findViewById(R.id.button2);

10         btn2.setOnClickListener(new OnClickListener(){

11

12             @Override

13             public void onClick(View arg0) {

14                 // TODO Auto-generated method stub

15                 Intent intent=new Intent();

16                 intent.putExtra("result", "hello world");

17                 OtherActivity.this.setResult(resultcode, intent);

18                 OtherActivity.this.finish();

19             }});

20     }

21 }

 

注:

 

1.请求码requestCodestartActivityForResult(intent,requestCode)onActivityResult(int requestCode,int resultCode,Intent data)中的requestCode为请求码, 它的作用是用于标识请求来源。例如:一个Activity有两个按钮,点击这两个按钮都会打开同一个Activity,不管是那个按钮打开新Activity,当这个新Activity关闭后,系统都会调用前面 ActivityonActivityResult(int requestCode, int resultCode, Intent data)方法。在onActivityResult()方法如果需要知道新Activity是由那个按钮打开的,并且要做出 相应的业务处理。

 

2.结果码resultCode:在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,系统都会调用前面Activi tyonActivityResult(int requestCode, int resultCode, Intent data)方法。为了知道返回的数据来自于哪个新Activity,在onActivityResult()方法中可以这样做(Result ActivityNewActivity为要打开的新Activity)

 

PS:对于APP安全检测一般我都会用:www.ineice.com


© 著作权归作者所有

粉丝 3
博文 49
码字总数 21798
作品 0
南昌
私信 提问
浅析http

这一篇文章并不是纯API 文档. 按照惯例,我们应当先了解什么是http以及它在web 开发中的常见应用场景. HTTP,按照百度百科的说法其名约:"超文本传输协议",嘿嘿,但是,其实他的原名其实应该是...

唐正汉
2017/11/02
0
0
Android——关于生命周期的7个函数

1、onCreate() Acitivity首次创建时被调用。用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作。 2、onStart() Acitivity对用户可见时被调用。 3、onResume() Acitivity获得用...

Silent丶Kai
2011/12/21
708
0
程序员挑战高薪,你必须会的十大面试题《一》

程序员挑战高薪,你必须会的十大面试题《一》 IT蓝豹 1:Android中五种数据存储方式分别是什么?他们的特点? (1)SharedPreference,存放较少的五种类型的数据,只能在同一个包内使 用,生成...

抉择很难
2015/11/18
193
0
USB 驱动架构浅析

1.USB简介 USB,即Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特...

炉yu
2017/05/15
0
0
USB 驱动架构浅析

1.USB简介 USB,即Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特...

炉yu
2017/05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
23分钟前
4
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
今天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
今天
5
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
今天
2
0
Linux创建yum仓库

第一步、搞定自己的光盘 #创建文件夹 mkdir -p /media/cdrom #挂载光盘 mount /dev/cdrom /media/cdrom #编辑配置文件使其永久生效 vim /etc/fstab 第二步,编辑yun源 vim /ect yum.repos.d...

究极小怪兽zzz
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部