【发布时间】:2019-02-04 03:13:34
【问题描述】:
我在数据库上有一个 ArrayList,我有一个函数 getArrayList 引用数据库并返回列表。 问题是我无法保存数组列表,因为我是从内部类获取的。
*ArrayList waiting_list 定义在外部
private ArrayList<FirebaseUser> getWaitingList (String uid){
database.child("books").child(""+itemNum+1)
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot d:dataSnapshot.getChildren()){
if(d.getKey().equals("waiting list"));
GenericTypeIndicator<ArrayList<FirebaseUser>> t = new GenericTypeIndicator<ArrayList<FirebaseUser>>() {};
waiting_list = d.getValue(t);// this is the problem
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return waiting_list; //I beleive that waiting_list is still null here
}
【问题讨论】:
-
您无法从 Firebase 侦听器返回数据
-
请注意,
if(d.getKey().equals("waiting list"));完全没用,因为it executes an empty statement if the condition is true。
标签: android firebase firebase-realtime-database anonymous-inner-class