Восстановить предыдущее состояние фрагмента при повороте и расположении в backstack - PullRequest
0 голосов
/ 04 мая 2018

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

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

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

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

Как мне сделать, чтобы это работало правильно?

Спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

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

setRetainInstance(true);

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

...