Если бы мне пришлось решать эту проблему, я бы подумал, что общая ситуация немного отличается от предложенной @Mark в комментариях.Я бы реализовал нумерованный запрос в Firebase, чтобы мне не приходилось получать все 500+ строк одновременно.
Кроме того, я хотел бы сохранить автономное хранилище данных, которые извлекаются из Firebase.Таким образом, каждый раз, когда приложение загружается, данные заполняются обоими фрагментами, которые были извлечены ранее.Я выполняю запрос в фоновом режиме асинхронно, и пользователю не нужно будет ждать завершения запроса, чтобы увидеть данные в обоих фрагментах.Как только запрос завершит загрузку, я обновлю представления соответствующим образом с новыми данными, а также обновлю локальный кеш, который будет необходим для обслуживания данных при следующем запуске приложения.
Если вы не заинтересованы в загрузке данных в фоновом режиме и отображении начальных элементов из кэша и придерживаетесь своей текущей реализации, то я хотел бы предложить вам управлять всеми этими вещами из действия, которое содержитViewPager
.Просто выполняйте запросы один за другим или асинхронно и публикуйте результаты во фрагменты после получения результатов от Firebase, используя BroadcastReceiver
или что-то в этом роде.
Надеюсь, это поможет!