Как сохранить текст в EditText

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

Ответ

Для сохранения текста из EditText можно использовать SharedPreferences или ViewModel (если нужно сохранить временные данные).

Пример с SharedPreferences:

val editText = findViewById<EditText>(R.id.editText)
val prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)

// Сохранение  
prefs.edit().putString("saved_text", editText.text.toString()).apply()

// Загрузка  
editText.setText(prefs.getString("saved_text", ""))

Для ViewModel (если используется в рамках одного сеанса):

val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
editText.setText(viewModel.savedText)
editText.doOnTextChanged { text, _, _, _ -> viewModel.savedText = text.toString() }

Выбор зависит от сценария: SharedPreferences — для постоянного хранения, ViewModel — для временного.