I am using a firebase database and i want to loop through all childs of a node. I am using the following code:
ArrayList<versicherungHelper> versicherungsListe = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
.....not relevant coding...
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("users/Frank/Versicherungen");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
versicherungHelper versicherung = snapshot.getValue(versicherungHelper.class);
versicherungsListe.add(versicherung);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Snackbar snackbar = Snackbar.make(findViewById(R.id.drawer_layout),String.valueOf(versicherungsListe.size()),Snackbar.LENGTH_SHORT);
snackbar.show();
when i check the length of the list "versicherungsListe" inside the for-loop, the result is not 0. when i check the length of the list after the listener, the result is 0.
How can that be? The array list is defined outside the onCreate-method, as you can see.
I would highly appreciate an answer :) Thank you very much!