Предыдущая активность уничтожается при изменении страницы просмотра пейджера

Моя предыдущая активность уничтожается на странице просмотра пейджера (запущенной активности). Таким образом, onBackPressed() мое приложение закрывается. Я не хочу явно вспоминать предыдущую активность.

Предположим, что FirstActivity затем открывает SecondActivity, у которого есть один viewpager. Когда мы меняем страницу в пейджере представления во втором действии, то FirstActivity (находящееся в фоновом режиме) уничтожается. поэтому, когда мы вернемся и вернемся, нажмите на приложение SecondActivity, закрытое


person Prashant Dange    schedule 21.08.2018    source источник
comment
"recall explicitly"? что ты имеешь в виду?   -  person pskink    schedule 21.08.2018
comment
показать соответствующий код   -  person Vivek Mishra    schedule 21.08.2018
comment
@pskink Я хочу, чтобы мое приложение продолжало предыдущую активность onBackPressed. не хочу вызывать предыдущую активность с новым объектом   -  person Prashant Dange    schedule 21.08.2018
comment
и он пойдет, если вы нажмете кнопку «Назад» (или вызовете метод finish())   -  person pskink    schedule 21.08.2018
comment
добавьте этот метод в onCreate() или на панель инструментов setDisplayHomeAsUpEnabled(true);   -  person Rahul Chokshi    schedule 21.08.2018
comment
*@pskink нет, на самом деле нет...........позвольте мне объяснить.....я нахожусь в FirstActivity, затем открываю SecondActivity, у которой есть один < b>пейджер просмотра . Когда мы меняем страницу в представлении, пейджер FirstActivity уничтожается. поэтому, когда мы вернемся и вернемся, нажмите на SecondActivity, приложение закрыто   -  person Prashant Dange    schedule 21.08.2018
comment
нет, даже если FirstActivity будет уничтожен, он будет снова создан системой, и его метод onCreate будет вызван снова, подробнее см. Понимание задач и обратного стека   -  person pskink    schedule 21.08.2018
comment
В меню отладки Android в разделе «Приложения» есть параметр «Не сохранять действия», который сделает это. Вы можете проверить, что это выключено? Однако технически я думаю, что документально подтверждено, что Android разрешено делать это, уничтожать действия, как только вы двигаетесь дальше, но на самом деле ни одна версия Android (IIRC) этого не делает.   -  person Rup    schedule 21.08.2018


Ответы (2)


Проверьте, вызвали ли вы finish(); после запуска действия ViewPager.

Intent intent = new Intent(getBaseContext(), SomeActivity.class);
startActivity(intent);
finish(); // This will destroy current activity.
person Nandha    schedule 21.08.2018
comment
нет, я не хочу, так как я хотел перейти к тому же действию после выполнения какой-либо операции - person Prashant Dange; 21.08.2018
comment
проверьте наличие активности, вызвав isFinishing(). Это вернет false, когда ваша активность больше не будет присутствовать. - person Nandha; 22.08.2018

Вы не должны использовать метод finish() для своей активности при явном запуске новой активности. Вместо этого вы должны каждый раз обрабатывать свою активность в методе onBackPressed(). если вы управляете своими действиями, используя состояния жизненного цикла, я думаю, вам не понадобится дальнейший явный вызов вашей деятельности.

person Jay Mungara    schedule 21.08.2018