子[Firebase数据库Android]中的java orderByValue
这是我的firebase数据库
我需要按子项“total”的值排列此列表 我尝试使用这个代码
data.child("rating_apps").child("Developing").orderByChild("total").orderByValue().addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
list.add(dataSnapshot.child("name").getValue(String.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
是否可以按与父项不接近的值对列表进行排序
# 1 楼答案
# 2 楼答案
您只能有一个orderBy。。。在查询中。您的
orderByValue()
导致Firebase对错误属性(键iirc)的值进行排序如果删除
orderByValue()
(因此只有orderByChild("status")
),Firebase将基于每个子级的status
属性的值正如您所指出的,它确实会将这些值作为字符串进行排序,因为您将数值存储为字符串。如果您希望它们按数字排序,请将它们存储为实际数字