Android之Activity startActivityForResult和setResult方法解析

1.startActivity()  简单的从aActivity跳转到bActivity,可以put数据进行跳转

2.startActivityForResult():

aActivity进行跳转 :通过startActivityForResult(Intent intent, int requestCode) 

startActivityForResult(Intent intent, int requestCode) 
startActivityForResult(intent, Constant.resultCode);

其中requestCode是请求码,必须要>0的值,另外在aActivity中必须要复写onActivityResult 方法来接收bActivity回传过来的数据,并对数据进行处理;

3.跳转到bActivity后,在bActivity中设置需要回传的数据,并设置返回数据通过:

需要注意的是,在new Intent();中无需设置跳转的目标activity类,因为RESULT_OK,已经设置好了,

//设置返回数据
setResult(RESULT_OK, intent);
finish();

其中RESULT_OK是resultCode(结果码)

4.回到aActivity中,

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {}

requestCode和resultCode  请求码和结果码都已经设置好了,通过:

if (requestCode == Constant.resultCode && resultCode == RESULT_OK) {
            if (data != null) {}}

对bActivity返回的数据进行处理;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值