设为首页 加入收藏

TOP

Android入门(二)Activity-Toast、Intent(三)
2017-10-12 18:05:10 】 浏览:1570
Tags:Android 入门 Activity-Toast Intent
ivity的, 在 SecondActivity被销毁之后会回调上一个活动的onActivityResult()方法,因此我们需要在 FirstActivity中重写这个方法来得到返回的数据,如下所示:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
    case 1:
        if (resultCode == RESULT_OK) {
            String returnedData = data.getStringExtra("data_return");
            Log.d("FirstActivity", returnedData);
        }
        break;
    default:
    }
}

    onActivityResult()方法带有三个参数,第一个参数 requestCode,即我们在启动活动时传入的请求码。 第二个参数 resultCode, 即我们在返回数据时传入的处理结果。 第三个参数 data,即携带着返回数据的 Intent。由于在一个活动中有可能调用 startActivityForResult()方法去启动很多不同的活动,每一个活动返回的数据都会回调到 onActivityResult()这个方法中,因此我们首先要做的就是通过检查 requestCode 的值来判断数据来源。确定数据是从SecondActivity返回的之后,我们再通过 resultCode的值来判断处理结果是否成功。最后从data中取值并打印出来,这样就完成了向上一个活动返回数据的工作。

    如果用户在 SecondActivity中并不是通过点击按钮,而是通过按下Back键回到 FirstActivity,这样数据不就没法返回了吗?没错,不过这种情况还是很好处理的,我们可以通过重写 onBackPressed()方法来解决这个问题,代码如下所示:

@Override
public void onBackPressed() {
    Intent intent = new Intent();
    intent.putExtra("data_return", "Hello FirstActivity");
    setResult(RESULT_OK, intent);
    finish();
}
首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇1. 从系统架构到Hello World 下一篇Android入门(九)文件存储与Shared..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目