Я хотел бы начать новый activity
для result
с startActvityForResult()
, но я хотел бы, чтобы кнопка back
работала как обычно в новом действии.
В настоящее время, когда я вызываю новый 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);
}
Я мог бы использовать объяснение.
onBackPressed()
вызывается при нажатии кнопки «Назад». - person Arnab Chakraborty   schedule 03.08.2011