Есть приложения с несколькими экранами и активностями. Как можно сделать так, чтобы открывая активити2 оно не прекращало работу активити1, или же сохраняло состояние активити1, приостанавливало его когда запущена активити2, а потом из активити2 переключиться обратно в активити1.
С настройками по-умолчанию, вторая активити и так открывается поверх первой, ведь если Вы нажмете кнопку back из второй активити – отобразиться первая (это осуществляется с помощью activity back stack).
Для сохранения состояния активити, Вам необходимо переопределить ее методы onSaveInstanceState(...)
и (опционально) onRestoreInstanceState(...)
.
В методе onSaveInstanceState(...)
Вы сохраняете состояние активити в объект типа Bundle
, в методе onRestoreInstanceState(...)
Вы восстанавливаете состояние активити из объекта типа Bundle
.
Объект типа Bundle
, сформированный в методе onSaveInstanceState(...)
также передается в метод onCreate(...)
активити, поэтому восстанавливать состояние активити можно прямо в методе onCreate(...)
, а не в onRestoreInstanceState(...)
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я получаю значение для spinner из базы данных на сервере и храню его в ArrayList:
Приложение вылетает вот здесь: