Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在子类中获取dataSnapshot.getChildrenCount()_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 如何在子类中获取dataSnapshot.getChildrenCount()

Java 如何在子类中获取dataSnapshot.getChildrenCount(),java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我试着总结一下不同孩子的id总数。 我想从这些子对象获取值(getChildrenCount) 以下是数据库: 我试过这个 //value for the jumlah pos databaseReference.child("umumPos").child(model.getForumUid()).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNu

我试着总结一下不同孩子的id总数。 我想从这些子对象获取值(getChildrenCount)

以下是数据库:

我试过这个

//value for the jumlah pos
databaseReference.child("umumPos").child(model.getForumUid()).addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        if (dataSnapshot.exists()) {
            for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
                long size = dataSnapshot1.getChildrenCount();
                holder.getTextViewPostThreadsCount().setText("Jumlah Pos: " + size);

            }

        }
    }
    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
 });

在循环时,代码中的
size
等于1,这是因为在第二个
id
下,您只有一个孩子。尝试以下操作以添加所有子项:

 long sum = 0;
 for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
 long size = dataSnapshot1.getChildrenCount();
 sum += size;
 holder.getTextViewPostThreadsCount().setText("Jumlah Pos: " + size);

        }

你能显示你已经尝试过的代码吗?大小的值是多少?@PeterHaddad它将显示
1
@FrankvanPuffelen我更新了问题model.getForumUid()的值是多少它正在工作!但是怎么做呢?你能更详细地解释一下吗?当你说大小等于
1
时,我认为for循环可能在第二个Id中迭代,该Id只有一个子Id。因此,您将
1
的值存储在
sum
中,然后在第二次迭代中,您可能会得到
4
,并将其与
sum
相加,最终得到
5
,即5个子项