0

Я новичок в андроиде, и я работаю с фрагментами.Как сохранить информацию в фрагменте после onBackPressed?

Моей проблема:

У меня есть два фрагмента, «A» и «B», мой фрагмент «А» представляет собой сложная форма, пользователь может добавлять и удалять продукты, набор информации о клиентах, способ оплаты и многих других , Мой фрагмент «B» просто показывает информацию, которую пользователь установил в предыдущем фрагменте.

Но если пользователь нажимает кнопку «Назад», я теряю всю информацию, уже установленную в предыдущем фрагменте.

Как я могу поддерживать эту информацию о фрагменте A?

Спасибо.

+0

Что вы используете, когда переходите от A к B? Вы в той же Деятельности? Разве это другое? Вы заменяете A на B? –

ответ

1

вы можете сохранить ваши данные с помощью sharedpreferences

так, что как только вы получите обратно к фрагменту загружать данные из sharedpreferences

1

Вы должны добавить андроид: идентификатор атрибут для каждого ракурс элемента которого состояние вас хотите сохранить. это объясняется в документации по android:

По умолчанию система использует состояние экземпляра Bundle для сохранения информации о каждом объекте View в макете активности (например, текстовое значение, введенное в объект EditText). Итак, если ваш экземпляр активности уничтожен и воссоздан, состояние макета восстанавливается в прежнее состояние без какого-либо кода, требуемого вами. Однако в вашей деятельности может быть больше информации о состоянии, которую вы хотите восстановить, например, переменные-члены, отслеживающие прогресс пользователя в активности.

Примечание. Чтобы система Android могла восстановить состояние представлений в вашей деятельности, каждое представление должно иметь уникальный идентификатор, предоставленный атрибутом android: id.

Чтобы сохранить дополнительные данные о состоянии активности, вы должны переопределить метод обратного вызова onSaveInstanceState(). Система вызывает этот метод, когда пользователь покидает вашу активность и передает ему объект Bundle, который будет сохранен в случае неожиданного уничтожения вашей активности. Если система должна воссоздать экземпляр активности позже, он передает тот же объект Bundle как методам onRestoreInstanceState(), так и onCreate().

+0

ваше описание предназначено для занятий не для фрагментов .... Пожалуйста, удалите это. –

Смежные вопросы