Ответ 1
Попробуйте настроить режим запуска основной активности на singleTop в вашем манифесте:
<activity android:name="activityName" android:launchMode="singleTop" ... />
Я использую onSaveInstanceState()
для хранения переменной члена ArrayList
и восстанавливаю ее в методе onCreate()
основного действия. Это работает в большинстве случаев, таких как вращение экрана и т.д., Но если я открою новое действие и использую кнопку "вверх" (а не кнопку "Назад" ) для перехода на главный экран, создается впечатление, что он создает новый основной вид деятельности без прохождения расслоение состояний в onCreate()
.
Я подтвердил, что при нажатии кнопки "вверх" метод onDestroy()
вызывается для исходного экземпляра основного действия, что не имеет для меня никакого смысла, потому что я хочу, чтобы он возобновил существующую деятельность, как если бы я нажал назад вместо создания нового.
Есть ли способ заставить новую активность восстановить старый или просто возобновить существующую активность?
Попробуйте настроить режим запуска основной активности на singleTop в вашем манифесте:
<activity android:name="activityName" android:launchMode="singleTop" ... />
Вы пытались использовать:
Intent i = new Intent(this, MainScreenActivity.class);
i.setFlags(Intent.FLAG_CLEAR_TOP);
startActivity(i);
finish();
Этот код должен вызвать нажатие кнопки.