Переключение между двумя фрагментами в одной и той же активности без обновления источника данных

У меня есть Fragment1 и Fragment2, RecyclerView1, соответствующие Fragment1, RecyclerView2, соответствующие Fragment2. Оба RecyclerViews имеют один и тот же источник данных (одна и та же информация).

Я использую кнопку, пусть SwitchButton, чтобы переключаться между двумя фрагментами. Оба фрагмента находятся в одной и той же активности.

Случай использования: прокрутка в RecyclerView1 до позиции 10, а затем нажатие на SwitchButton отобразит Fragment2 с помощью RecyclerView2, прокрученного до положения 10.

Где хранить данные? Потому что я не хочу звонить на сервер каждый раз, когда переключаюсь между Fragment1 и Fragment2. Надеюсь ты понимаешь. Спасибо!

Ответ 1

Вы можете сделать это с помощью интерфейса.

1.Создайте интерфейс с двумя методами, чтобы установить данные сетевых вызовов и другие, чтобы получить данные о назначенных сетевых вызовах в активности.

2. В обоих фрагментах перед выполнением сетевого вызова проверьте, существуют ли назначенные данные в действии с использованием интерфейса.

  1. если он не существует, выполните сетевой вызов, сохраните данные в переменной активности.

  2. когда фрагмент уничтожен и воссоздан. данные не будут потеряны.