首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意图- startActivityForResult

意图- startActivityForResult
EN

Stack Overflow用户
提问于 2016-09-27 23:40:53
回答 2查看 113关注 0票数 2

我用MainActivity和Activity2做应用程序。我已经从MainActivity向Activity2和Activity2向MainActivity发送了信息。

我想将变量opcio发送到startActivityForResult,但我不知道如何发送。我使用MainActivity中的以下代码:

代码语言:javascript
复制
opcio = OPCIO_1;
startActivityForResult(new Intent(getApplicationContext(), Activity2.class), ACTIVITY_NUM);

从Activity2之后,我不知道该如何恢复此信息。

你能帮帮我吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-28 00:02:09

沿着这些思路做点什么怎么样?

从MainActivity向Activity2发送额外内容:

代码语言:javascript
复制
public static final int REQUEST_CODE = 0;
Intent intent = new Intent(MainActivity.this, Activity2.class);
intent.putExtra("extra", opcio);
startActivityForResult(intent, REQUEST_CODE);  

在Activity2中检索额外内容:

代码语言:javascript
复制
String opcio = getIntent().getStringExtra("extra");

从Activity2向MainActivity发送额外内容:

代码语言:javascript
复制
Intent data = new Intent();
data.putExtra("extra", opcio);
setResult(RESULT_OK, data);

在MainActivity中检索额外内容:

代码语言:javascript
复制
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == REQUEST_CODE){
        String opcio = data.getStringExtra("extra);
    }
}
票数 2
EN

Stack Overflow用户

发布于 2016-09-27 23:48:37

MainActivity:

代码语言:javascript
复制
Intent i = new Intent(MainActivity.this, Activity2.class);
opcio = OPCIO_1;
i.putExtra("send", opcio);
startActivityForResult(i, 1);

其中关闭的Activity2:

代码语言:javascript
复制
setResult(1);
finish();

MainActivity:

代码语言:javascript
复制
    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == 1){
        //Your code
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39728913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档