我有两项活动。
首先按如下方式调用第二个:
Intent intent = new Intent(this, Second.class);
startActivityForResult(intent, 1);
在第二个中返回数据:
Intent intent = new Intent();
intent.putExtra("a", "la-la-la");
setResult(RESULT_OK, intent);
finish();
并尝试在第一项活动中接收此数据:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if ((resultCode == Activity.RESULT_OK) && (currentTask != null)) {
//Here is empty intent extas!!!
Log.d("OrderActivity", "RESULT!!");
}
}
因此,请求代码和响应代码返回,但intent extra是空的。??
答案 0 :(得分:0)
我也遇到了这个问题,并在评论中找到了答案。为了让下一个家伙更容易发现,让我们重新声明为答案:
您必须读取与输入的数据类型相同的数据。
答案 1 :(得分:-1)
在调用super.onFinish()或退出上一个活动
之前,只需调用此行Intent intent = getIntent();
intent.putExtra("Date",dateSelected);
setResult(RESULT_OK, intent);