Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将数据从新活动传递到旧活动?_Android_Android Activity - Fatal编程技术网

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

Android 将数据从新活动传递到旧活动?,android,android-activity,Android,Android Activity,我正在尝试从新活动接收到旧活动的数据 换句话说,新的活动必须在完成时向旧的活动发送数据 我使用了setResult(resultcode,NewActivity.this.getdestine)在更新的活动和 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, dat

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

换句话说,新的活动必须在完成时向旧的活动发送数据

我使用了
setResult(resultcode,NewActivity.this.getdestine)在更新的活动和

@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);
我不明白为什么总是从新的获取空意图数据

如何修复它

请给我一些建议


谢谢,

正如Commonware在他的评论中所写的那样,您正在将您用于启动活动的相同意图传递回您的活动

请尝试以下代码:

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

setResult(resultcode, newIntent);

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

首先,您的
setResult()
调用不应该传回您得到的意图——您需要使用要返回的数据创建一个新的意图。第二,你可能说得太晚了。例如,如果您正在等待onDestroy()
,那就太晚了。使用
onPause()?为什么我不能使用setResult(resultCode,getIntent())?可以使用getIntent,但必须将数据设置为从getIntent()获得的intent