2014-02-02 3 views
0

У меня есть этот код:не onActivityResult ждать результатов

в классе MainActivity при SettingButton нажатии:

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"); 
     } 
    } 
} 

в классе OptionsMenuActivity при SaveButton нажатии:

public void onSaveButtonClicked(View v) 
{ 
    String dumpDb="true"; 
    Intent intent = new Intent(); 
    intent.putExtra("DUMP", dumpDb); 

    setResult(RESULT_OK, intent); 
    finish(); 
} 

Когда я нажимаю SettingButton , ОпцииMenuActivity начинается, и сразу появляется Журнал:

E/onActivityResult﹕ result_not_Ok 

Когда я нажимаю SaveButton, OptionsMenuActivity закрыт и MainActivity работает.

/-/

Моя проблема заключается в том, что onActivityResult() не ждет результата, пока не будет нажата SaveButton и никогда ResultCode == RESULT_OK, так никогда не смогу сделать свой материал в зависимости на ОпцииMenuActivity состояние

+0

Включите ваше декларативное заявление о действиях, о которых идет речь. – pyus13

ответ

3

Возможно, ваши параметрыMenuActivity в манифестном режиме запуска равны синглетной маске? Это отрывок из startActivityForResults документа:

Например, если деятельность вы запускаете использует режим запуска singleTask, он не будет работать в вашей задаче и, таким образом, вы сразу же получите отменить результат.

Смежные вопросы