Я хочу запрос в базе данных Firestore, где автор сообщения равен текущему пользователю [эта часть работает нормально].и я хочу сортировать сообщение с отметкой времени и порядка по DESCENDING
.
Возможно ли это?Или в чем ошибка моего кода?
Query firstQuery = firebaseFirestore.collection("Posts")
.whereEqualTo("user_id", current_user_id)
.orderBy("timestamp", Query.Direction.DESCENDING)
.limit(3);
firstQuery.addSnapshotListener(getActivity(), new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
assert queryDocumentSnapshots != null;
if(!queryDocumentSnapshots.isEmpty()) {
if(isFirstPageFirstLoad){
lastVisible = queryDocumentSnapshots.getDocuments().get(queryDocumentSnapshots.size() - 1);
}
for (DocumentChange doc : queryDocumentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
String blogPostID = doc.getDocument().getId();
BlogPost blogPost = doc.getDocument().toObject(BlogPost.class).withId(blogPostID);
if(isFirstPageFirstLoad){
blog_list.add(blogPost);
}
else {
blog_list.add(0, blogPost);
}
blogPostHomeRecyclerViewAdapter.notifyDataSetChanged();
}
}
isFirstPageFirstLoad = false;
}
}
});
Ошибка Logcat:
Attempt to invoke virtual method 'boolean com.google.firebase.firestore.QuerySnapshot.isEmpty()' on a null object reference
База данных:
Разработка базы данных