как сохранить список состояний в jetpack-навигации - PullRequest
0 голосов
/ 04 ноября 2019

Я разработал приложение с помощью jetpack-навигации. Существует проблема, как показано на следующем рисунке, когда я перемещаюсь от одного фрагмента к другому, статус списка исчезает.

Фактически, при возврате измакет, статья будет воссоздана в стеке, и статус списка не будет сохранен, и пользователю придется снова прокручивать. Пожалуйста, помогите мне?

jetpack-navigation

1 Ответ

0 голосов
/ 04 ноября 2019

Фрагмент воссоздается при каждой операции навигации. Вы можете сохранить положение прокрутки в вашей активности и загрузить его оттуда. Но при этом, как это, позиция прокрутки будет потеряна при воссоздании активности (например, вращающемся устройстве).

Лучше было бы сохранить его во ViewModel. (см. https://developer.android.com/topic/libraries/architecture/viewmodel)

Модель представления выживает после активного отдыха, и вы можете сохранить свою позицию прокрутки.

Затем вы можете загрузить эту позицию и указать список для прокрутки до этой позиции (например, для RecyclerViewс LinearLayoutManager путем вызова scrollToPositionWithOffset (...))

...