Как уведомить FirestorePagingAdapter? - PullRequest
0 голосов
/ 04 июля 2018

Я использую FirestorePagingAdapter для отображения данных из Firestore и разбивки на страницы. Я хочу обновить адаптер новыми данными, когда Firestore изменится. notifyDataSetChanged() не работает, когда я хочу уведомить данные. В настоящее время я звоню это:

 public void setPaging(Query query) {
    FirestorePagingOptions<AddFabricModel> options = new FirestorePagingOptions.Builder<AddFabricModel>()
            .setLifecycleOwner(this)
            .setQuery(query, config, AddFabricModel.class)
            .build();
    adapter=new AllFabricsAdapter(context,options,this);
    rvAllFabrics.setAdapter(adapter);

}

Чтобы уведомить данные, я передаю запрос, а затем снова создаю адаптер obj, который мне не нужен.

1 Ответ

0 голосов
/ 04 июля 2018

Вы не можете использовать FireStorePagingAdapter в библиотеке Firebase-UI для получения обновлений, потому что оно предназначено только для получения данных, а не для прослушивания обновлений в реальном времени. Внутри класса FirestorePagingAdapter нет метода notifyDataSetChanged(), поэтому для решения этой проблемы вам нужно начать прослушивание изменений, используя:

adapter.startListening();

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

...