Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android FireBaseRecyclerPaginAdapter在使用orderByChild时显示无限滚动视图_Android_Firebase Realtime Database_Pagination_Firebaseui - Fatal编程技术网

Android FireBaseRecyclerPaginAdapter在使用orderByChild时显示无限滚动视图

Android FireBaseRecyclerPaginAdapter在使用orderByChild时显示无限滚动视图,android,firebase-realtime-database,pagination,firebaseui,Android,Firebase Realtime Database,Pagination,Firebaseui,我想在滚动时从firebase数据库加载数据。我使用了FirebaseRecyclerPaginAdapter表单firebase ui。我的问题是 Query Query=FirebaseDatabase.getInstance().getReference() .child(“用户”) .child(用户.getUid()) .儿童(“通知”) .orderByChild(“reqTime”); 但我得到了无限的滚动视图。删除orderByChild将按预期显示结果。但这里我想先加载最近的

我想在滚动时从firebase数据库加载数据。我使用了
FirebaseRecyclerPaginAdapter
表单firebase ui。我的问题是

Query Query=FirebaseDatabase.getInstance().getReference()
.child(“用户”)
.child(用户.getUid())
.儿童(“通知”)
.orderByChild(“reqTime”);
但我得到了无限的滚动视图。删除orderByChild将按预期显示结果。但这里我想先加载最近的数据。是否有任何方法可以先使用
FirebaseRecyclerPaginAdapter
加载最近的数据?或者不使用
FirebaseRecyclerPaginAdapter
如何使用分页加载最近的数据?这是我的密码

PagedList.Config Config=new PagedList.Config.Builder()
.setEnablePlaceholders(false)
.设置预取距离(5)
.setPageSize(10)
.build();
DatabasePagingOptions选项=新建DatabasePagingOptions.Builder()
.setLifecycleOwner(此)
.setQuery(查询、配置、BookRequestData.class)
.build();
mAdapter=新FirebaseRecyclerPaginAdapter(选项){
@非空
@凌驾
public NotificationViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
返回新的NotificationViewHolder(LayoutFlater.from(parent.getContext())。充气(R.layout.notification_item,parent,false));
}
@凌驾
受保护的无效onBindViewHolder(@NonNull NotificationViewHolder holder,int位置,@NonNull final BookRequestData BookRequestData){
//其他东西
}
@凌驾
受保护的void onLoadingState已更改(@NonNull LoadingState状态){
开关(状态){
案例加载_首字母:
案例加载\u更多:
//加载动画
mSwipeRefreshLayout.setRefreshing(true);
打破
已装入案例:
//停止动画
mSwipeRefreshLayout.setRefresh(false);
打破
案件完成:
//已到达数据集的末尾
mSwipeRefreshLayout.setRefresh(false);
打破
案例错误:
重试();
打破
}
}
不使用
orderByChild
显示

使用
orderByChild
显示

我了解您想要实现什么,但此适配器目前不支持高级查询,因为文档中已经提到了它。 如果您使用的是查询,适配器的行为将如下所示。这就是此适配器的问题,将尝试解决它。
谢谢!

这会经常出现错误吗?@rajuyorpee使用
orderByChild
以任意顺序显示数据,每次都无限滚动。谢谢。文档中提到了使用orderByKey()、limitToFirst()或limitToLast()。没有使用此库还有其他方法吗?我尝试过使用
((LinearLayoutManager)layoutManager).setReverseLayout(true)
因为它使用分页,所以只会反转小块。实时数据库有一些类似的缺点。如果使用Firestore数据库,您可以做任何您想做的事情。只需迁移到Firestore数据库。我已经迁移到Firestore。谢谢您的建议。