startActivityForResult(intent, requestCode)用法

依次打开Activity  A1--A2--A3--A4 这时候你如果想从第四个返回到第一Activity 的时候,就用到了startActivityForResult 这个方法了。

  1. startActivityForResult(intent, requestCode)
复制代码

两个参数 一个是第一好的意图对象,另一个是请求代码。

A1 的 intent 定义是

  1. Intent intent = new Intent(); intent.setClass(this,A2.class);
复制代码

指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);

A2 的 intent 定义是

  1. Intent intent = new Intent(); intent.setClass(this,A3.class);
复制代码

指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);

A3 的 intent 定义是

  1. Intent intent = new Intent(); intent.setClass(this,A4.class);
复制代码

指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);

A4 添加一个返回按钮 点击的事件里写

  1. public void 点击事件{
  2.   //this.setResult(int resultCode)
  3.     this.setResult(10)
  4.   this.finish();
  5. }
复制代码

这时候点击A4的返回按钮时候,先设置 resultCode 给上一个 A3 来判断,然后关闭A4

关闭A4触发A3里面的方法,onActivityResult(int requestCode, int resultCode, Intent data)

在这个方法里面做判断就行了。

前两个参数分别是 我们设置的 requestCode 和 resultCode

  1. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  2.   // TODO Auto-generated method stub
  3.   super.onActivityResult(requestCode, resultCode, data);
  4.   if(requestCode == 1&& resultCode == 10){
  5.     this.setResult(10);
  6.     this.finish();
  7.   }
  8. }
复制代码

此方法先匹配 requestCode 和 resultCode 然后设置 resultCode 在关闭A3,想同的道理关闭A2

这样就返回A1了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值