Сохранение / загрузка макета Android с ранее программно добавленными кнопками

У меня очень простой вопрос о загрузке макета в основной деятельности. У меня есть простой макет, определенный в activity_main.xml, который загружается в OnCreate() MainActivity с помощью

setContentView(R.layout.activity_main).

Затем по нажатию кнопки я добавляю другой элемент просмотра (кнопка), который отображается правильно.

Но когда приложение закрывается и открывается снова, мне нужно сохранить то, что было добавлено в последний раз, когда приложение закрывалось. Как я могу это сделать?

Я искал некоторые вопросы здесь, но большинство из них говорят о сохранении значений с помощью SharedPreferences или сохранении состояния, но не ясно, можно ли также сохранить макет.

Заранее спасибо.

1 ответ

Решение

Я думаю, что лучшим решением является сохранение последних значений состояния с помощью SharedPreferences, потому что это хороший способ сохранить любые простые данные на длительный срок.

Сохранение состояния с помощью saveInstanceState является краткосрочным решением, и если вы полностью закроете свое приложение, сохраненный экземпляр исчезнет навсегда.

Возможное решение:

Во-первых, вы не можете сохранить макет, как вы думаете, но вы можете получить макет parameters и другие функции, как variablesзатем вы можете сохранить их, используя SharedPreferences,

Во-вторых, вы должны проверить, есть ли какие-либо сохраненные состояния макета при запуске действия. Если таковые имеются, вы можете использовать предварительно сохраненные параметры для динамического / программного добавления макета.

Другие вопросы по тегам