startActivityForResult

笔者学习Android过程中遇到第一个不太明白的问题就出在startActivityForResult上,主要是两个参数的问题,一个在startActivityForResult(requestCode,intent),intent可以理解你要告诉系统你要跳转到哪一个Activity上,requestCode我基本用过,还有一个参数是resultCode,是在跳转后的Activity中的setResult(requestCode,intent)其中intent可以有也可以没有。因为我从来没验证过这两个参数,后来研究了一番才明白,首先这里要有4个Activity,它们的调用关系如下:


这种情况下为了能区分出是谁的请求以及返回,这个时候requestCode和resultCode就派上用场了。例如:Activity1和Activity2对Activity3的请求码分别为1和2,这样Activity3若同时接到两个请求,这个时候便可以通过requestCode来区别到底是谁发出来的请求。同理若Activity1同时收到两个返回,这时通过ResultCode来区别是谁返回的结果。

总结一下startActivityForResult的执行步骤:

1.Activity1中通过startActivityForResult(requestCode,intent)启动另个Activity3,如果需要传一些参数在intent里加就可以了。

2.Activity2中使用setResult(resultCode)或者setResult(resultCode,intent)来返回结果。

3.回调Activity1中的onActivityResult(requestCode,resultCode,intent)来处理返回结果。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值