我要将Firestore数据库中的集合中的所有文档添加到列表中,然后访问该列表以获取每个文档中的字段。
这是我的消防站的屏幕截图- 消防站图片
我要添加文档的列表-
List<DocumentSnapshot> subjects = new ArrayList<>();
这是我添加和访问主题的代码-
private FirebaseAuth mAuth=FirebaseAuth.getInstance();;
.
.
.
FirebaseFirestore.getInstance().collection(mAuth.getCurrentUser().getUid()).document("time_table").collection("Monday").get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
for(QueryDocumentSnapshot documentSnapshot: queryDocumentSnapshots)
{
subjects.add(documentSnapshot);
}
}
});
if(!subjects.isEmpty())
proList.add(new MainModel(1, subjects.get(0).getString("name"), "Status: On Track", 45, "+", "-", "45"));
else{
// some code for dialog box
}
我尝试了上面的代码,但是即使我在firestore中有非空文档,每次“ else”语句也会执行,所以它不起作用。
请注意,proList只是我的应用程序的“回收者”视图中显示的另一个列表。
我也尝试了以下方法-
FirebaseFirestore.getInstance().collection(mAuth.getCurrentUser().getUid()).document("time_table").collection("Monday").get().
addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful())
subjects = task.getResult().getDocuments();
}
});