Я долго искал и, похоже, не могу найти ничего, что могло бы помочь мне ...
Я хочу получить данные из коллекции Firebase FireStore, на которую я ссылаюсь (timeEntryTable
). В отладчике я вижу, что к моим данным обращаются правильно, но когда я выхожу из метода, кажется, что все прошло ...
private void getTimes(){
float totalTime = 0;
timeEntryTable
.whereEqualTo("person", "Alexandre")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
TimeEntry timeEntry = new TimeEntry(document.getData());
times.add(timeEntry.getTime());
Log.d(TAG, document.getId() + " => " + document.getData());
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
System.out.println("times = " + times);
}
В этом фрагменте times
является закрытый член ArrayList и TimeEntry
- это POJO, который имеет структуру документов в коллекции.
Я действительно вижу в отладчике, что times
заполнен правильными данными, но когда я вызываю System.out.println("times = " + times);
, значение равно []
... Есть что-то, что я не правильно делаю?
Спасибо:)