У меня есть действие A, которое запускает B с намерением. (B MapActivity
и имеет некоторый асинхронный код)
в B у меня есть следующий код
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
// Log.d(this.getClass().getName(), "back button pressed");
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
Это просто не работа. Я имею в виду, что когда я нажимаю кнопку «Назад» на телефоне, текущее действие B исчезает, и отображается действие A, которое запустило B.
Если я снова нажму на кнопку A, которая запускает B, я вижу, что B - именно то, что было, когда я закрывала ее. ЖЕ текст в текстовых полях, та же позиция на карте ... Так что я думаю, что действие B на самом деле не закрыто.
Как я могу закрыть его по-настоящему, чтобы при повторном его запуске действие B считалось новорожденным?
РЕДАКТИРОВАТЬ: просто чтобы прояснить вопрос:
Я хочу, чтобы это работало так: когда пользователь находится в режиме активности B и нажата кнопка BACK, B должен быть закрыт и уничтожен. Когда пользователь снова запускает B из A, B должен запускаться как НОВОЕ действие с пустым полем, картой сброса и т. Д. И т. Д., Так же, как в первый раз, когда пользователь запускает B из A.