这个问题可以通过将ArrayList作为成员变量传递给Activity类来解决。以下是解决方案的示例代码:
在Firestore查询中使用OnCompleteListener接口时,定义一个ArrayList:
ArrayList myArrayList = new ArrayList<>();
mFirestore.collection("collectionName")
.get()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
String field = document.getString("fieldName");
myArrayList.add(field);
}
// 在这里调用方法来传递myArrayList到Activity类
myMethod(myArrayList);
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
然后在Activity类中定义myMethod方法,该方法接受ArrayList作为参数,以便在查询完成时访问它:
public void myMethod(ArrayList arrayList) {
// 对myArrayList进行操作
}
通过这种方式,您可以在完成Firestore查询时访问包含所需数据的ArrayList。