#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 Мб для данных, передаваемых между компонентами одновременно.