检查 firebase 查询(对于 firebase 选项)returns 是否为空(不存在)
Check if firebase query (for firebase options) returns empty (does not exist)
我正在使用 firebaseRecyclerAdapter (firebaseOptions) 的过滤器查询。
因为我使用的是 searchView,如果查询存在,回收器会更新每个键入的字母。
问题是,如果查询不存在,我想清除回收器。
如何添加检查查询是否成功?
我正在执行搜索,如果查询存在我填充回收视图,如果查询不存在我想清除回收视图。
public void fireSearch(String queryInput) {
String start = queryInput.toUpperCase(), end = queryInput.toLowerCase() + "\uf8ff";
Log.d("myTag", start + " " + end);
firebaseQuery = databaseReference.orderByKey().startAt(start).endAt(end);
searchRecyclerView.setVisibility(View.VISIBLE);
FirebaseRecyclerOptions<BusinessDetails> options =
new FirebaseRecyclerOptions.Builder<BusinessDetails>()
.setQuery(firebaseQuery, BusinessDetails.class)
.setLifecycleOwner(this)
.build();
}
如果查询没有结果,FirebaseRecyclerViewAdapter
将已经清除现有数据。这种情况不需要你自己处理。
如果你想在没有数据的时候做一些额外的工作,你可以重写适配器中的onDataChanged
方法class。
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Chat, ChatHolder>(options) {
// ...
@Override
public void onDataChanged() {
// Called each time there is a new data snapshot. You may want to use this method
// to hide a loading spinner or check for the "no documents" state and update your UI.
// ...
}
@Override
public void onError(DatabaseError e) {
// Called when there is an error getting data. You may want to update
// your UI to display an error message to the user.
// ...
}
};
另请参阅 data and error events 上的 FirebaseUI 文档,我从中获取了上述代码。
我正在使用 firebaseRecyclerAdapter (firebaseOptions) 的过滤器查询。
因为我使用的是 searchView,如果查询存在,回收器会更新每个键入的字母。
问题是,如果查询不存在,我想清除回收器。
如何添加检查查询是否成功?
我正在执行搜索,如果查询存在我填充回收视图,如果查询不存在我想清除回收视图。
public void fireSearch(String queryInput) {
String start = queryInput.toUpperCase(), end = queryInput.toLowerCase() + "\uf8ff";
Log.d("myTag", start + " " + end);
firebaseQuery = databaseReference.orderByKey().startAt(start).endAt(end);
searchRecyclerView.setVisibility(View.VISIBLE);
FirebaseRecyclerOptions<BusinessDetails> options =
new FirebaseRecyclerOptions.Builder<BusinessDetails>()
.setQuery(firebaseQuery, BusinessDetails.class)
.setLifecycleOwner(this)
.build();
}
如果查询没有结果,FirebaseRecyclerViewAdapter
将已经清除现有数据。这种情况不需要你自己处理。
如果你想在没有数据的时候做一些额外的工作,你可以重写适配器中的onDataChanged
方法class。
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Chat, ChatHolder>(options) {
// ...
@Override
public void onDataChanged() {
// Called each time there is a new data snapshot. You may want to use this method
// to hide a loading spinner or check for the "no documents" state and update your UI.
// ...
}
@Override
public void onError(DatabaseError e) {
// Called when there is an error getting data. You may want to update
// your UI to display an error message to the user.
// ...
}
};
另请参阅 data and error events 上的 FirebaseUI 文档,我从中获取了上述代码。