I have an ArrayList on database and I have a function getArrayList that reference the database and returns the list. The problem is that I cannot save the arraylist because I get it from inner class.
*ArrayList waiting_list is defined outside
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
}