android中使用startActivityForResult回传数据(详解)

本文详细介绍了在Android开发中如何使用startActivityForResult方法进行页面间的跳转并回传数据。通过一个具体的案例,展示了如何从页面2(ShopActivity)返回数据给页面1(MainActivity),包括在页面1中启动页面2的代码,页面2设置返回数据的代码,以及页面1接收并处理返回数据的onActivityResult方法。案例中,用户在装备展示页面(页面2)选择装备后,装备信息会被回传到主界面(页面1)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用新浪微博APP时,能发现在微博发布界面进入图库选择图片后,会回到微博发布页面并带回了图片选择页面的图片信息。由于这种需求十分常见,因此,Android提供了一个startActivityForResult()方法,来实现回传数据。

要求:页面1跳转到页面2,页面2再返回页面1同时返回数据

页面1添加如下代码:

 Intent intent = new Intent();
   intent.setClass(页面1.this, 页面2.class);
   Bundle bundle = new Bundle();
   intent.putExtras(bundle);//将Bundle添加到Intent,也可以在Bundle中添加相应数据传递给下个页面,例如:bundle.putString("abc", "bbb");
   startActivityForResult(intent, 0);// 跳转并要求返回值,0代表请求值(可以随便写)

 

页面2接收数据添加代码如下:

  

Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
bundle.putString("aaa", "back");//添加要返回给页面1的数据
intent.putExtras(bundle);
this.setResult(Activity.RESULT_OK, intent);//返回页面1
this.finish();

 

页面1接收返回数据:(需要重写onActivityResult)

onActivityResult()方法里面的三个参数  第一个参数requestCode,表示再启动Acitivity是传递的请求码  第二个参数resultCode&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值