如何通知FirestorePagingAdapter?

时间:2018-07-04 14:08:15

标签: java android firebase google-cloud-firestore firebaseui

我正在使用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。

2 个答案:

答案 0 :(得分:0)

您不能使用Firebase-UI库中的FireStorePagingAdapter来接收更新,因为它仅用于获取数据而不用于侦听实时更新。在FirestorePagingAdapter类中,没有notifyDataSetChanged()方法,因此要解决此问题,您需要使用以下方法开始侦听更改:

adapter.startListening();

您还可以在此 post 中查看我的答案,在这里可以找到有关如何通过将查询游标与limit()方法结合使用来对查询进行分页的示例。我还建议您查看此 video ,以更好地理解。

答案 1 :(得分:0)

只需致电com.firebase.ui.firestore.paging.FirestorePagingAdapter#refresh