Сохранение / загрузка макета Android с ранее программно добавленными кнопками
У меня очень простой вопрос о загрузке макета в основной деятельности. У меня есть простой макет, определенный в activity_main.xml, который загружается в OnCreate() MainActivity с помощью
setContentView(R.layout.activity_main).
Затем по нажатию кнопки я добавляю другой элемент просмотра (кнопка), который отображается правильно.
Но когда приложение закрывается и открывается снова, мне нужно сохранить то, что было добавлено в последний раз, когда приложение закрывалось. Как я могу это сделать?
Я искал некоторые вопросы здесь, но большинство из них говорят о сохранении значений с помощью SharedPreferences или сохранении состояния, но не ясно, можно ли также сохранить макет.
Заранее спасибо.
1 ответ
Я думаю, что лучшим решением является сохранение последних значений состояния с помощью SharedPreferences
, потому что это хороший способ сохранить любые простые данные на длительный срок.
Сохранение состояния с помощью saveInstanceState
является краткосрочным решением, и если вы полностью закроете свое приложение, сохраненный экземпляр исчезнет навсегда.
Возможное решение:
Во-первых, вы не можете сохранить макет, как вы думаете, но вы можете получить макет parameters
и другие функции, как variables
затем вы можете сохранить их, используя SharedPreferences
,
Во-вторых, вы должны проверить, есть ли какие-либо сохраненные состояния макета при запуске действия. Если таковые имеются, вы можете использовать предварительно сохраненные параметры для динамического / программного добавления макета.