Junior — Middle
Come garantire la conservazione dello stato dell'interfaccia utente all'interno di un frammento in un'applicazione mobile?
sobes.tech AI
Risposta dell'AI
Для сохранения состояния пользовательского интерфейса во фрагменте Android обычно используют метод onSaveInstanceState(Bundle outState). В этом методе можно сохранить необходимые данные в Bundle, которые затем восстанавливаются в onViewCreated или onActivityCreated при пересоздании фрагмента.
Пример:
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putString("key_text", editText.text.toString())
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
if (savedInstanceState != null) {
val savedText = savedInstanceState.getString("key_text")
editText.setText(savedText)
}
}
Также можно использовать ViewModel для хранения состояния, что позволяет сохранить данные при смене конфигурации без необходимости сохранять их в Bundle.