我正在尝试从新活动接收旧活动的数据。
换句话说,较新的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);
我不明白为什么总是从较新的那个获得空目标数据。
如何解决?
请指教。
谢谢,
答案 0 :(得分:8)
正如CommonsWare在他的评论中写道,您将同一个Intent传递回您用于启动Activity的Activity。
尝试类似以下代码的内容:
Intent newIntent = new Intent();
newIntent.putExtra(key, yourData)
newIntent.putExtra(key2, moreData)
setResult(resultcode, newIntent);
在您的情况下,仅需要Intent来存储传回的数据。因此,您可以使用标准构造函数。