Переключение между двумя фрагментами в одной и той же активности без обновления источника данных
У меня есть Fragment1 и Fragment2, RecyclerView1, соответствующие Fragment1, RecyclerView2, соответствующие Fragment2.
Оба RecyclerViews имеют один и тот же источник данных (одна и та же информация).
Я использую кнопку, пусть SwitchButton, чтобы переключаться между двумя фрагментами. Оба фрагмента находятся в одной и той же активности.
Случай использования: прокрутка в RecyclerView1 до позиции 10, а затем нажатие на SwitchButton отобразит Fragment2 с помощью RecyclerView2, прокрученного до положения 10.
Где хранить данные? Потому что я не хочу звонить на сервер каждый раз, когда переключаюсь между Fragment1 и Fragment2. Надеюсь ты понимаешь. Спасибо!
Ответы
Ответ 1
Вы можете сделать это с помощью интерфейса.
1.Создайте интерфейс с двумя методами, чтобы установить данные сетевых вызовов и другие, чтобы получить данные о назначенных сетевых вызовах в активности.
2. В обоих фрагментах перед выполнением сетевого вызова проверьте, существуют ли назначенные данные в действии с использованием интерфейса.
-
если он не существует, выполните сетевой вызов, сохраните данные в переменной активности.
-
когда фрагмент уничтожен и воссоздан. данные не будут потеряны.