[英]In the queue I have implemented below the students are displayed from oldest to newest.I want to display inserted students from the newest to oldest
[英]I want to order my data from newest to oldest using Cloud Firestore in Android using Java
我想從 Cloud Firestore 對我的數據從最舊到最新進行排序,這是我的代碼:
private void loadNotesList() {
firestoreDB.collection("keluhan")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
List<keluhanModel> notesList = new ArrayList<>();
for (DocumentSnapshot doc : task.getResult()) {
keluhanModel note = doc.toObject(keluhanModel.class);
note.setId(doc.getId());
notesList.add(note);
}
mAdapter = new adapterKeluhan(notesList, getApplicationContext(), firestoreDB);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(mAdapter);
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
}
我曾嘗試使用.orderBy("date", Query.Direction.ASCENDING) 但它沒有做任何事情,它只是我的 Android 應用程序中的一個白頁。
這是我的數據庫:
為了能夠按日期對結果進行排序,您應該使用以下查詢:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference keluhanRef = rootRef.collection("keluhan");
Query dateQuery = keluhanRef.orderBy("timeStamp", Direction.ASCENDING);
dateQuery.get().addOnCompleteListener(/* ... */);
來電:
.orderBy("date", Query.Direction.ASCENDING)
永遠不會工作,因為您的屬性名稱是timeStamp
而不是date
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.