首页 > 解决方案 > 为什么在 Firebase 中计算错误的孩子

问题描述

我想计算 Firebase 实时数据库中的所有孩子:

int iLinesF = 0;
myRef = null;
if (myRef == null) {
    myRef = FirebaseDatabase.getInstance().getReference();
    }
    myRef.child("users")
        .addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            iLinesF = (int) snapshot.getChildrenCount();
            Toast.makeText(MainActivity.this,String.valueOf(iLinesF),Toast.LENGTH_SHORT).show();// #1
        }
        @Override
        public void onCancelled(@NonNull DatabaseError error) {
        }
    });
    Toast.makeText(MainActivity.this,String.valueOf(iLinesF),Toast.LENGTH_SHORT).show(); //#2

为什么第二个 Toast 最先出现?为什么第一个 Toast 的值是正确的,而第二个是 0?

谢谢,dplusk

标签: androidfirebasefirebase-realtime-database

解决方案


推荐阅读