第七课:返回子活动结果(基于AndroidStudio3.2)

        在上一节中,我们发起了一个子活动,我们传递了一些数据。 在这我们将看一下如何从子活动中返回数据。下图显示了如何解决这个问题的事件顺序。

        我们将从MainActivity启动子活动。 这可以通过创建一个来管理显式的intent对象并调用startActivityForResult。 活动可能会启动多个其他活动,每个活动都可以返回一些结果。 当这些结果回来时,它们都将在onActivityResult方法中,所以我们需要知道从哪个活动每个结果都来自; REQUEST_CODE将帮助我们解决这个问题。

Intent intent = new Intent(MainActivity.this, SubActivity.class);
startActivityForResult(intent, REQUEST_CODE)

        当运行时解析intent时,SubActivitygets将被创建并将成为可见。 到那时,它可以通过用户输入创建自己的数据。 如果它想
将数据返回给MainActivity,它需要创建一个intent对象将数据发送回去MainActivity通过捎带意图对象。

String data = "Data to send back";
intent.putExtra("key", data);
setResult(Activity.RESULT_OK, intent);
finish();

        当SubActivity调用finish方法时,它将被销毁,并且MainActivity然后将返回到活动堆栈的顶部。 运行时将调用MainActivity’s 
onActivityResult;这是我们可以提取SubActivitysent的数据的地方。

一、建立演示的工程和UI

1、创建新项目

名称为GetResultsSubActivity

建立子活动SecondActivity

2、添加相应控件

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值