Восстановить предыдущее состояние фрагмента при повороте и расположении в backstack

У меня есть приложение с одним действием, показывающим фрагмент пользователю. При нажатии на кнопку действие показывает другой фрагмент, но сохраняет предыдущий в backstack, У меня сейчас две проблемы:

  • При вращении (особенно во втором фрагменте) данные вводятся в EditTexts очищается
  • Я хочу backstack также должен быть восстановлен с текстом, ранее введенным во втором фрагменте.

Проблема в том, что когда я сохраняю данные для связки, используя OnSaveInstanceState(...)Я успешно получил его снова из OnViewCreated(...) но когда я использую editText.setText(str)Текст не отображается.

На данный момент, я думаю, это потому, что фрагмент затем уничтожается и воссоздается родительским действием.

Как я могу сделать, чтобы это работало должным образом?

Благодарю.

1 ответ

Сделайте ваши фрагменты сохраняемыми:

setRetainInstance(true);

Смотрите следующее руководство по изменению ориентации состояния android изменения ориентации `

Другие вопросы по тегам