java - 如何获取子级内部的 dataSnapshot.getChildrenCount()

标签 java android firebase firebase-realtime-database

我正在尝试总结不同 child 的 child 中的 id 总数。 我想从这些 child 那里获取值(getChildrenCount)。

这是数据库:

Database

这个我试过了

//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 下,您只有一个 child 。请尝试以下操作来添加所有子项:

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

        }

关于java - 如何获取子级内部的 dataSnapshot.getChildrenCount(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385337/

相关文章:

java - 线段树java实现

java - 何时调用 View.onMeasure()?

android ActivityOptions.isReturning() NullPointerException

firebase - Firestore 安全规则 : understanding match/databases/{database}/documents

java - 如何修复[发现 : 'android.content.Context' , 需要 : 'androidx.lifecycle.LifecycleOwner' ] in BroadcastReceiver?

java - spring-多任务延迟执行

java - 如何根据对象属性将列表对象生成为多个列表?

android - 带有变音符号的名称的游标查询

ios - 火力基地。如何在不覆盖现有数据但更新数据的情况下将数据保存为事务? swift 3

firebase - 如何使用 bloc 从消防商店检索数据收集列表