Sobes.tech
Junior — Middle

Em que casos o conteúdo do componente EditText permanece inalterado após sua gravação ou atualização?

sobes.tech IA

Resposta da IA

O conteúdo do componente EditText no Android permanece inalterado após guardar ou atualizar, se:

  • A preservação do estado não estiver implementada (por exemplo, ao rodar a tela ou recriar a atividade).
  • O mecanismo de guardar e restaurar o estado (onSaveInstanceState / onRestoreInstanceState) não for utilizado.
  • Ao atualizar os dados no EditText, o texto não for alterado programaticamente.

Para guardar o conteúdo do EditText durante mudanças de configuração, é necessário sobrescrever os métodos de preservação de estado ou usar ViewModel para armazenar os dados.

Exemplo de preservação de estado:

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

override fun onRestoreInstanceState(savedInstanceState: Bundle) {
    super.onRestoreInstanceState(savedInstanceState)
    val content = savedInstanceState.getString("editTextContent")
    editText.setText(content)
}