Sobes.tech
Junior — Middle

Como garantir a preservação do estado da interface do utilizador dentro de um fragmento numa aplicação móvel?

sobes.tech IA

Resposta da IA

Для сохранения состояния пользовательского интерфейса во фрагменте 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.