Java 如何通知FirestorePagingAdapter?

Java 如何通知FirestorePagingAdapter?,java,android,firebase,google-cloud-firestore,firebaseui,Java,Android,Firebase,Google Cloud Firestore,Firebaseui,我正在使用FirestorePagingAdapter显示Firestore中的数据并对数据进行分页。我想在Firestore更改时用新数据刷新适配器notifyDataSetChanged()在我想要通知数据时不起作用。当前我调用此命令: public void setPaging(Query query) { FirestorePagingOptions<AddFabricModel> options = new FirestorePagingOptions.Build

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

}
public void setPaging(查询){
FirestorePagingOptions选项=新建FirestorePagingOptions.Builder()
.setLifecycleOwner(此)
.setQuery(查询,配置,AddFabricModel.class)
.build();
adapter=新的AllFabricsAdapter(上下文、选项、此);
rvAllFabrics.setAdapter(适配器);
}

要通知数据,我正在通过查询,然后再次创建我不想要的适配器obj。

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

adapter.startListening();

您还可以从这里查看我的答案,在这里您可以找到一个示例,说明如何通过将查询游标与limit()方法相结合来对查询进行分页。我还建议你看看这个以便更好地理解。

只要调用com.firebase.ui.firestore.paging.FirestorePagingAdapter#refresh

嘿,Alex,如果我想构建聊天界面,我还想让用户看到旧消息。因此,如果我使用FirestorePagingOptions,我必须加载所有数据,否则我可以对其进行限制。是否有一种方法可以使用firestoreUI或任何推荐的方法实时更新并逐步加载旧数据:)@IsuruBandara我想你可能对这个感兴趣,这就是我想要的。感谢您在媒体上发表有用的文章:)