返回数据给上一个活动

Activity中有一个startActivityForResult()方法也是用于启动活动的,这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。
startActivityForResult()方法接收两个参数:
第一个参数:Intent
第二个参数:请求码,用于在之后的回调中判断数据的来源
首先是:
修改第一个页面的点击事件在这里插入图片描述
这里我们使用l startActivityForResult()方法来启动第二个页面,请求码只要是个唯一值就可以,这里传入了1 。
接下来我们在第二个页面中给按钮添加点击事件,并在点击事件中添加返回数据的逻辑:在这里插入图片描述
我们还是构建了一个Intent,但这个Intent仅仅用于传递数据,没有任何的指定意图,把要传递的数据存放在Intent中,然后调用setResult()方法。这个方法是专门用于向上一个活动返回数据的。
setResult()方法接收两个参数:
第一个参数:用于向上一个活动返回处理结果,一般只使用RESULT_OK或RESULT_CANCELED这两个值。
第二个参数:把带有数据的Intent传递回去,然后调用finish()方法销毁当前活动。
因为我们是用startActivityForResult()方法启动第二个页面,在第二个页面被销毁之后会回调上一个活动的onActivityResult()方法,所以我们需要在第一个页面中重写这个方法来得到返回的数据:在这里插入图片描述
onActivityResult()方法带有三个参数:
第一个参数:requestCode,即我们在启动活动时的请求码。
第二个参数:resultCode,即我们在返回数据时传入的处理结果。
第三个参数:data,即携带着返回数据的Intent。
在这里插入图片描述
注:第一行代码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值