我正在使用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。
答案 0 :(得分:0)
您不能使用Firebase-UI库中的FireStorePagingAdapter
来接收更新,因为它仅用于获取数据而不用于侦听实时更新。在FirestorePagingAdapter类中,没有notifyDataSetChanged()
方法,因此要解决此问题,您需要使用以下方法开始侦听更改:
adapter.startListening();
您还可以在此 post 中查看我的答案,在这里可以找到有关如何通过将查询游标与limit()方法结合使用来对查询进行分页的示例。我还建议您查看此 video ,以更好地理解。
答案 1 :(得分:0)
只需致电com.firebase.ui.firestore.paging.FirestorePagingAdapter#refresh