首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase getChildrenCount()显示0

Firebase getChildrenCount()显示0
EN

Stack Overflow用户
提问于 2020-12-04 13:51:49
回答 1查看 69关注 0票数 1

我什么都试过了,但解决不了这个问题。Firebase getChildrenCount()显示0,重新启动时显示0。但是当我在应用程序打开后第一次开始这个活动时,它就显示了正确的数据。我试图为onCancelled为ValueEventLisener查找日志错误,但它们不是错误。

请帮我解决这个问题。

我的代码

代码语言:javascript
复制
 uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
       friendsRef=FirebaseDatabase.getInstance().getReference("Friends");
       friendsRef.child(uid).addValueEventListener(new ValueEventListener() {
           @Override
           public void onDataChange(@NonNull DataSnapshot snapshot) {
               if (snapshot.exists()) {
                  int Friend = (int) snapshot.getChildrenCount();
                   friendsCountTv.setText(Integer.toString(Friend));
               }else {
                   friendsCountTv.setText("0");
               }
           }

           @Override
           public void onCancelled(@NonNull DatabaseError error) {
               Log.e("ERROR/",error.getMessage());
           }
       });

My DataBase

代码语言:javascript
复制
"Friends" : {
    "QygAGx6eszWENoVvEdaL1uEwFxW2" : {

        "hLEGHsnKunew0NTqOH8dd4TnzfZ2" : "true",
        "stg15QKZFhNmTCYrgL5PtQ4wxJf2" : "true"
      },
     "hLEGHsnKunew0NTqOH8dd4TnzfZ2" : {

        "QygAGx6eszWENoVvEdaL1uEwFxW2" : "true",
        "stg15QKZFhNmTCYrgL5PtQ4wxJf2" : "true"
      },
     "stg15QKZFhNmTCYrgL5PtQ4wxJf2" : {

        "QygAGx6eszWENoVvEdaL1uEwFxW2" : "true",
        "hLEGHsnKunew0NTqOH8dd4TnzfZ2" : "true"
      },
  }
EN

回答 1

Stack Overflow用户

发布于 2020-12-04 15:13:27

我想你的数据库里没有孩子,孩子参考。

代码语言:javascript
复制
"stg15QKZFhNmTCYrgL5PtQ4wxJf2" : {
        "QygAGx6eszWENoVvEdaL1uEwFxW2" : "true",
        "hLEGHsnKunew0NTqOH8dd4TnzfZ2" : "true"
 },

也许,如果这个结构是这样的,它被认为是儿童。

代码语言:javascript
复制
"stg15QKZFhNmTCYrgL5PtQ4wxJf2" : {
        "CHILD NAME" : {
           "PROPERTY" : "VALUE",
        },
        "QygAGx6eszWENoVvEdaL1uEwFxW2" : "true",
        "hLEGHsnKunew0NTqOH8dd4TnzfZ2" : "true"
      },

希望这就是问题所在。

如果是这样的话,那么使用snapshot.getValue().size()检索属性长度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65144808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档