Как открыть Activity поверх другого активити?

526
31 декабря 2016, 14:28

Есть приложения с несколькими экранами и активностями. Как можно сделать так, чтобы открывая активити2 оно не прекращало работу активити1, или же сохраняло состояние активити1, приостанавливало его когда запущена активити2, а потом из активити2 переключиться обратно в активити1.

Answer 1

С настройками по-умолчанию, вторая активити и так открывается поверх первой, ведь если Вы нажмете кнопку back из второй активити – отобразиться первая (это осуществляется с помощью activity back stack).

Для сохранения состояния активити, Вам необходимо переопределить ее методы onSaveInstanceState(...) и (опционально) onRestoreInstanceState(...).

В методе onSaveInstanceState(...) Вы сохраняете состояние активити в объект типа Bundle, в методе onRestoreInstanceState(...) Вы восстанавливаете состояние активити из объекта типа Bundle.

Объект типа Bundle, сформированный в методе onSaveInstanceState(...) также передается в метод onCreate(...) активити, поэтому восстанавливать состояние активити можно прямо в методе onCreate(...), а не в onRestoreInstanceState(...).

READ ALSO
SQL скрипт для создания БД

SQL скрипт для создания БД

Решаю тестовое задание и у меня там есть такой пункт:

739
Android spinner

Android spinner

Я получаю значение для spinner из базы данных на сервере и храню его в ArrayList:

485
Вылетает Android приложение: Could not execute method for android:onClick

Вылетает Android приложение: Could not execute method for android:onClick

Приложение вылетает вот здесь:

461