Почему цикл datasnapshot не завершается сразу? - PullRequest
0 голосов
/ 23 сентября 2019

в коде, показанном ниже, я ожидаю, что цикл datasnapshot завершит работу и сохранит значения ключей в ArrayList при вызове метода.Однако при первом вызове метода значения ArrayList останутся равными NULL, а затем метод сам запустится снова и получит значения, как будто первый вызов имеет значение NULL, а второй (даже если я его не вызываю) получаетзначения.

public void Drawings_71 () {

FirebaseDatabase.getInstance().getReference().child("Drawings").child("Area 71").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot ds : dataSnapshot.getChildren()) {
            key = ds.getKey();
            list.add(key);
               }
    }
    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
});

}

Если я пытаюсь отобразить содержимое Arraylist, я должен щелкнуть дважды, так как первый щелчок приведет к нулевым значениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...