установите пакет savedInstanceState в действие

#android #android-savedstate

#Android #android-savedstate

Вопрос:

есть ли способ вручную установить пакет savedInstanceState?

мне нужно запустить действие в режиме savedInstanceState, чтобы в onCreate пакет savedInstanceState не был равен null . я хочу восстановить activity с моими пользовательскими данными. Спасибо

Комментарии:

1. Почему бы вам просто не добавить дополнительные элементы в действие intent starting и не извлечь его оттуда?

2. тогда мне придется изменить много кода, и у меня нет времени на повторную отладку @mhenryk

Ответ №1:

Это сделает ваш код нечитаемым и его будет сложно поддерживать в будущем. Более того, вы будете работать против архитектуры платформы.

Правильный подход заключается в отправке данных в Intent, который запускает Activity , или в получении всех данных в onCreate , если bundle равен null, вот так:

 if(savedInstanceState == null)
    //Get data from db, resources etc.
else 
    //Do the restoring using the bundle, 
    //or just let it pass here and handle it in      
    //`onRestoreInstanceState`, both are correct
  

Пожалуйста, не пытайтесь найти исправления для взлома только потому, что выполнение thigs правильным способом занимает немного больше времени. Это окупится в будущем! 🙂

В качестве дополнительного примечания, пожалуйста, помните, что при Intent запуске Activity не следует хранить большие куски данных, поскольку существует ограничение в 1 Мб для данных, передаваемых между компонентами одновременно.