Как возвращал форму в Android после отпуска

«Как возвращал форму в Android после отпуска» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для возвращения формы после отпуска (например, после сворачивания приложения) можно использовать onSaveInstanceState() и onRestoreInstanceState().

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putString("EDIT_TEXT_VALUE", editText.text.toString())
}

override fun onRestoreInstanceState(savedInstanceState: Bundle) {
    super.onRestoreInstanceState(savedInstanceState)
    editText.setText(savedInstanceState.getString("EDIT_TEXT_VALUE"))
}

Ключевые моменты:

  • Сохраняем данные в onSaveInstanceState() перед уничтожением активити
  • Восстанавливаем в onRestoreInstanceState() или onCreate()
  • Для сложных данных лучше использовать ViewModel + SavedStateHandle
  • Для фрагментов аналогичный механизм через onSaveInstanceState()