Java 如何在子类中获取dataSnapshot.getChildrenCount()
我试着总结一下不同孩子的id总数。 我想从这些子对象获取值(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
//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个子项