【发布时间】:2014-02-02 00:45:37
【问题描述】:
我有这个代码:
在按下 SettingButton 时的 MainActivity 类中:
static final int DUMP_REQUEST = 1;
public void onSettingButtonClick(View button)
{
//call options menu activity
Intent intent = new Intent(MainActivity.this, OptionsMenuActivity.class);
startActivityForResult(intent, DUMP_REQUEST);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == DUMP_REQUEST)
{
if (resultCode == RESULT_OK)
{
Log.e("onActivityResult", "resultOK");
}
else
{
Log.e("onActivityResult", "result_not_Ok");
}
}
}
在按下 SaveButton 时的类 OptionsMenuActivity 中:
public void onSaveButtonClicked(View v)
{
String dumpDb="true";
Intent intent = new Intent();
intent.putExtra("DUMP", dumpDb);
setResult(RESULT_OK, intent);
finish();
}
当我按下 SettingButton 时,OptionsMenuActivity 启动,并立即出现日志:
E/onActivityResult﹕ result_not_Ok
当我点击 SaveButton 时,OptionsMenuActivity 关闭,MainActivity 运行。
/--/
我的问题是 onActivityResult() 在我按下 SaveButton 之前不会等待结果,并且 从不 resultCode == RESULT_OK,所以从不我可以根据 OptionsMenuActivity 状态来做我的事情
【问题讨论】:
-
包括您的相关活动清单声明。
标签: android android-intent android-activity android-studio