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

Fer*_*and 3 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
    }     
}
Run Code Online (Sandbox Code Playgroud)

关于旧活动.接收来自较新活动的打算数据.

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

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

另外,在创建新Activity时,我使用以下代码:

Intent intent = new Intent(Intent.ACTION_PICK);
intent.setClass(OldActivty.this, NewActivity.class);
startActivityForResult(intent, 0);
Run Code Online (Sandbox Code Playgroud)

我不明白为什么总是从新的获取空目标数据.

怎么解决?

请指教.

谢谢,

Jan*_*usz 8

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

尝试类似以下代码:

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

setResult(resultcode, newIntent);
Run Code Online (Sandbox Code Playgroud)

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