Android 边用边学 之 startActivityForResult

      有的时候,我们需要用A activity传递一些数据去B activity,然后在B activity执行完成之后,将一些结果再返回给A activity,这时startActivityForResult这个方法就派上用场了,具体使用方法如下:

 

     首先在A activity使用此方法开启B activity:
Intent intent = new Intent(A.this, B.class);
intent.putExtra(name, value);
startActivityForResult(intent, requestCode);
说明:

requestCode只要大于等于0即可,留着后面用

 

      在B activity接收数据,执行完成后返回A activity用下面的方法:
Intent intent = new Intent(B.this, A.class);
intent.putExtra(name, value);
setResult(resultCode, intent);
B.this.finish();
说明:

setResult方法我理解就是相当于设置一个执行结果
参数resultCode:要求大于等于0,注意这个和A activity的那个requestCode是两码事,可以不一样的
B.this.finish();:结束B activity,结果就自己传回去了,在A activity等着接收并做进一步的处理就好了

 

      A activity的接收函数:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
}
说明:
requestCode:就是之前A activity传给B activity时候的那个东东
resultCode:是B activity中setResult中的那个东东(个人觉得这个用的比requestCode要多)
可以用上面这两个参数判断是什么时候传过去的数据,又是哪个activity中哪个Intent传回的。
data:是一个Intent,用来接收数据什么的
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值