Компоненты навигации Android
Я добавил Android-новый компонент навигации внутри моего приложения, создал navGraph и добавил несколько фрагментов в качестве пунктов назначения. Я выясняю, каждый раз, когда я перемещаюсь в пункты назначения, предыдущий пункт назначения (фрагмент) начинает перезапуск И мое последнее состояние предыдущего пункта назначения (фрагмент) потеряно. Есть ли варианты сохранить это? Как я уже использовал retainInstance
во фрагменте.
0 ответов
Я использовал компонент навигации с фрагментами в своем проекте и обнаружил, что самый простой способ сохранить состояние фрагмента - использовать компонент модели представления: https://developer.android.com/topic/libraries/architecture/viewmodel?gclid=EAIaIQobChMI442XtIuR4wIVhuiaCh0uGAFZEAAYASAAEgIRIfD_BwE
Я использовал архитектуру MVP, и в своей модели я расширяю модель представления. Таким образом, пока ваша активность не была уничтожена, экземпляр модели сохраняется, и вы можете получить к нему доступ при перезагрузке фрагмента, поэтому все его параметры все еще присутствуют, поэтому вы можете повторно инициализировать свой фрагмент с сохраненными значениями внутри вашей модели.