网站首页
手机版

Android startActivityForResult实例详解

更新时间:2022-12-07 06:03:29作者:佚名

Android startActivityForResult实例详解

Android startActivityForResult实例详解

startActivityForResult用于两个activity之间的数据传递,Activity1传值给Activity2,Activity2再返回值给Activity1。

第一步:Activity1中:startActivityForResult(Intent intent, Int requestCode)

  Intent intent = new Intent();  intent.setClass(Activity1.this,Activity2.class);  Bundle bundle = new Bundle();  intent.putExtras(bundle);  bundle.putString("abc", "bbb");  startActivityForResult(intent, 0);  // 跳转并要求返回值,0代表请求值(可以随便写,但一定要>=0)

第二步:Activity2中:setResult(int resultCode, Intent intent)回传数据时采用setResult方法,并且之后Activity2中要调用finish方法。

  Intent intent = this.getIntent();  Bundle bundle = intent.getExtras();  String bbb=bundle.getString("abc");//接收A的数据    bundle.putString("aaa", "back");//返回给A的数据  intent.putExtras(bundle);  this.setResult(Activity.RESULT_OK, intent);  //1、结果码可以自定义但必须大于等于0,  //如果B子模块可能有几种不同的结果返回,  //可以用这个参数予以识别区分。还有个特殊的 RESULT_OK 值,没有特殊情况用它就好了。  //返回码可以是ESULT_CANCELED, RESULT_OK, or any custom values starting at RESULT_FIRST_USER。  //如果,调用的child activity失败,这个parent activity 将会收到的返回码是RESULT_CANCELED.  //2、intent为A传来的带有Bundle的intent,当然也可以自己定义新的Bundle的intent  this.finish();  //Activity2调用finish()方法之后才能返回数据到Activity1

第三步:Activity1中:返回数据,重写onActivityResult(int requestCode, int resultCode, Intent intent)

  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data) {   super.onActivityResult(requestCode, resultCode, data);   if (requestCode == 0 && resultCode == Activity.RESULT_OK) {    Bundle bundle = data.getExtras();    gameView.backString = bundle.getString("aaa");    Toast.makeText(this, backString, Toast.LENGTH_SHORT).show();   }  }
本文标签: 数据  方法  返回值  

为您推荐

抖音投稿同城怎么投 抖音投稿同城是官方投的吗

最佳答案打开抖音APP,点击下方的加号。进入拍摄页面,拍摄或上传视频。视频制作完成点击下一步。在发布页面右下方点击发布设置。打开优先发布给同城的人。输入作品标题等信息,点击发布。

2024-08-25 18:45

快手怎么设置别人搜不到我(快手怎么设置别人搜不到我用户名)

最佳答案首先打开快手APP,在左上角点击“三条横线”按钮。接着会在左侧出现更多设置界面,点击“设置”。然后在设置中点击“隐私”设置;再在隐私设定中找到“不允许将我推荐给通讯录”好友,将开关打开即可。

2024-08-25 05:52

快手视频左下角广告怎么关闭(快手如何关闭视频左下角的广告)

最佳答案首先打开手机,在手机中找到并打开设置,点击状态栏与通知按钮。接着点击管理通知,选择快手。最后关闭管理通知,即可关闭快手左下角的广告。

2024-08-24 07:47

从“炫技”到“服务”,国产人形机器人“抢滩”未来产业赛道

从“炫技”到“服务”,国产人形机器人“抢滩”未来产业赛道

2024-08-23 11:12

拼多多弹出的广告怎么关闭(拼多多弹窗广告如何关闭)

最佳答案打开拼多多,找到“个人中心”,点击设置。点击常见问题。点击个性化广告。点击如何设置个性化广告。点击设置我的个性化广告。根据兴趣来选择关闭“兴趣标签”,或者点击停用全部兴趣标签,一键全部关闭。点击确认停用即可。

2024-08-23 05:19

云闪付无感支付怎么关闭(云闪付无感支付不能关闭)

最佳答案打开手机进入系统,点击桌面云闪付。进入云闪付,在我的页面,点击设置。在设置页面,点击支付设置。进入支付设置,选择无感支付选项。在无感支付页面,点击已开通项目。最后在项目详情里面,点击关闭无感支付即可。

2024-08-22 14:35