为什么datasnapshot循环无法一次完成?

时间:2019-09-23 17:07:27

标签: android loops arraylist firebase-realtime-database snapshot

在下面显示的代码中,我希望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的内容,则必须单击两次,因为第一次单击将导致空值。

0 个答案:

没有答案