Android: startActivityForResult () с функцией кнопки НАЗАД

, я хотел бы начать новое действие для результата с startActvityForResult () , но я бы хотелось бы, чтобы кнопка назад работала нормально в новом действии.

В настоящее время, когда я вызываю новое действие Activity для получения результата, ничего не происходит, когда я нажимаю кнопку возврата в новом действии.

Я пробовал что-то вроде этого:

@Override
public void onBackPressed() {
    setResult(0);
    super.onBackPressed();
    finish();
}

в новом Activity, но это не сработало. По-прежнему ничего не происходит при нажатии кнопки возврата.

Есть ли способ обойти это?

РЕДАКТИРОВАТЬ: Я, конечно, мог бы загрузить последнее Activity в onBackPressed () (можно?), но это кажется довольно дрянным хаком.

Ответ Алекса Ади решает мою проблему, но я до сих пор не понимаю, почему onBackPressed () не работает. Теперь рабочий код выглядит примерно так:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        setResult(1);
        finish();
    }
    return super.onKeyDown(keyCode, event);
}

Я мог бы использовать объяснение.

12
задан Arnab Chakraborty 3 August 2011 в 14:18
поделиться