@lacredin
Программист

Как сохранить состояние фрагмента при вызове replace?

У меня есть задача по созданию предпросмотра введённых данных.
Для решения этой задачи я вызываю новый фрагмент из текущего фрагмента, методом replace. Из предпросмотра пользователь выходит кнопкой "назад" ("Back")(пока-что, но такая функция должна остаться).
Как выяснилось при таких действиях не вызывается onSaveInstanceState для текущего фрагмента, в результате сохраняются только данные введённые в полях с id.

Подскажите, как сохранять состояние фрагмента в этом случае?

UP. Для текущего фрагмента я вызываю addToBackStack(null);
  • Вопрос задан
  • 380 просмотров
Пригласить эксперта
Ответы на вопрос 1
DrZ0idberg
@DrZ0idberg
Android-разработчик. Стаж - возраст Android.
По-моему здесь вообще replace не стоит использовать. Нужно делать add для фрагмента предпросмотра, он будет выведен поверх текущего, а состояние текущего не изменится.
Метод onSaveInstanceState вызывается при изменении конфигурации, при удалении фрагмента вызовом replace никакого изменения конфигурации не происходит, поэтому и состояние не сохраняется и не восстанавливается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы