Go к предыдущей активности после финиша - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть два экрана, Экран A и Экран B

Я открываю Экран B в A, как показано ниже

Intent intent = new Intent(A.this , B.class);
startActivity(intent);

В Activity BI есть два случая.

В первом случае пользователь нажимает кнопку возврата. Он успешно go вернется к экрану А.

Второй случай после какой-то сетевой операции мне нужно go вернуться к экрану А, поэтому я делаю это так

Intent intent = new Intent(B.this , A.class);
startActivity(intent);
finish();

Проблема если в стеке будет два экрана A, то сначала откроется экран A, затем, если пользователь щелкнет назад, он также покажет экран A в третьей попытке, он go вернется на другой экран, скажем, экран C

1 Ответ

0 голосов
/ 30 апреля 2020

Зачем вам нужно создавать еще один экземпляр действия A? Вызов finish() в действии B в любом случае вернет вас к следующему действию в стеке, которое будет исходным экземпляром действия A. Если вам необходимо, после сетевой операции, вернуть какой-то результат в действие A, тогда вам следует исследовать, используя метод startActivityForResult() в Деятельности A при запуске Деятельности B.

...