将数据从新活动传递到旧活动?

时间:2010-04-22 22:23:06

标签: android android-activity

我正在尝试从新活动接收旧活动的数据。

换句话说,较新的Activity必须在完成时将意图数据发送到旧活动。

我在新活动上使用setResult(resultcode, NewActivity.this.getIntend);并且

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(data != null) {
        // doing something
    }     
}

旧活动。接收来自较新活动的打算数据。

但是这段代码不起作用。始终获取数据为空。

如何将完成活动的意图数据发送到父活动?

同样在创建新活动时,我使用以下代码:

Intent intent = new Intent(Intent.ACTION_PICK);
intent.setClass(OldActivty.this, NewActivity.class);
startActivityForResult(intent, 0);

我不明白为什么总是从较新的那个获得空目标数据。

如何解决?

请指教。

谢谢,

1 个答案:

答案 0 :(得分:8)

正如CommonsWare在他的评论中写道,您将同一个Intent传递回您用于启动Activity的Activity。

尝试类似以下代码的内容:

Intent newIntent = new Intent();
newIntent.putExtra(key, yourData)
newIntent.putExtra(key2, moreData)

setResult(resultcode, newIntent);

在您的情况下,仅需要Intent来存储传回的数据。因此,您可以使用标准构造函数。