Ниже приведена моя база данных Firebase график:
Есть три детей изкорневой элемент ссылки . Когда я выполняю следующий цикл, чтобы получить все дочерние элементы, он возвращает результат только для первого дочернего элемента
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("links");
int count=0;
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("Firebase","Children: "+dataSnapshot.getChildren().toString()); //This gives result for all children
for (DataSnapshot ds : dataSnapshot.getChildren()) {
count++;
}
Log.d("Firebase","Count length: "+count); //Gives only "1"
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getCode());
}
});
. В приведенном выше коде count
должно быть 3, но возвращает 1. Цикл выполняется только один раз. , Однако следующая строка в приведенном выше коде работает правильно и дает результаты для всех 3 детей.
Log.d("Firebase","Children: "+dataSnapshot.getChildren().toString());
В чем проблема? Спасибо за ваши ответы!