更新时间:2023-10-30 21:28:46
您可以进行自己的回调.为此,请创建一个界面
You can make your own callback. For this, make an interface
public interface FireStoreResults {
public void onResultGet();
}
现在,当您获得结果时,请发送此呼叫
now send this call back when you get results
public void readData(final FireStoreResults){
db.collection("users").document(user_id).collection("quizzes")
.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
for (QueryDocumentSnapshot document : task.getResult()) {
Quiz quizDownloaded = getQuizFromCloud(document.getId());
quizzes.add(quizDownloaded);
}
results.onResultGet();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
results.onResultGet();
}
});
}
现在您的活动或片段
new YourResultGetClass().readData(new FireStoreResults(){
@Override
public void onResultGet() {
new YourResultGetClass().getQuizzes(); //this is your list of quizzes
//do whatever you want with it
}
希望这很有道理!