Sid*_*cia 3 android firebase firebase-realtime-database

我想获取状态为 NOT OK 的所有化合物的值,您可以在我上传的图片中看到。我试过这个,但我没能得到这些值。请帮助我为我想要实现的目标创建正确的查询。
mUserCompounds.orderByChild("status").equalTo("NOT OK").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
long compounds_solved = dataSnapshot.getChildrenCount();
String output = String.valueOf(compounds_solved);
Log.d("OUTPUT", "Total not ok " + output);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
long compounds_solved = dataSnapshot.getChildrenCount();
String output = String.valueOf(compounds_solved);
Log.d("OUTPUT", "Total not ok " + output);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Run Code Online (Sandbox Code Playgroud)
我想要得到的化合物是 4。但是我根据我的代码得到的是这个。

小智 5
ChildEventListener 将为您提供发生事件的孩子的数据。因此,当您获得快照上的子项数量时,您实际上是在获得属性数量的计数。图像、名称和状态 (3)。
请改用 ValueEventListener。
mUserCompounds.orderByChild("status").equalTo("NOT OK").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println(dataSnapshot.getChildrenCount()); }
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2224 次 |
| 最近记录: |