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