Восстановление состояния в Android при использовании кнопки "вверх"

Я использую onSaveInstanceState() для хранения переменной члена ArrayList и восстанавливаю ее в методе onCreate() основного действия. Это работает в большинстве случаев, таких как вращение экрана и т.д., Но если я открою новое действие и использую кнопку "вверх" (а не кнопку "Назад" ) для перехода на главный экран, создается впечатление, что он создает новый основной вид деятельности без прохождения расслоение состояний в onCreate().

Я подтвердил, что при нажатии кнопки "вверх" метод onDestroy() вызывается для исходного экземпляра основного действия, что не имеет для меня никакого смысла, потому что я хочу, чтобы он возобновил существующую деятельность, как если бы я нажал назад вместо создания нового.

Есть ли способ заставить новую активность восстановить старый или просто возобновить существующую активность?

Ответ 1

Попробуйте настроить режим запуска основной активности на singleTop в вашем манифесте:

<activity android:name="activityName" android:launchMode="singleTop" ... />

Ответ 2

Вы пытались использовать:

 Intent i = new Intent(this, MainScreenActivity.class);
  i.setFlags(Intent.FLAG_CLEAR_TOP);
 startActivity(i);
  finish();

Этот код должен вызвать нажатие кнопки.