Java 子[Firebase数据库Android]中的orderByValue
这是我的firebase数据库 我需要按子项“total”的值排列此列表 我尝试使用这个代码Java 子[Firebase数据库Android]中的orderByValue,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,这是我的firebase数据库 我需要按子项“total”的值排列此列表 我尝试使用这个代码 data.child("rating_apps").child("Developing").orderByChild("total").orderByValue().addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(DataSnapsho
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) {
}
});
是否可以按与父项不接近的值对列表进行排序?您只能有一个orderBy。。。在查询中。您的
orderByValue()
导致Firebase根据错误属性(键iirc)的值进行排序
Query myTopPostsQuery = databaseReference.child("user-posts").child(myUserId)
.orderByChild("starCount");
myTopPostsQuery.addChildEventListener(new ChildEventListener() {
// TODO: implement the ChildEventListener methods as documented above
// ...
});
如果删除orderByValue()
(因此只有orderByChild(“status”)
),Firebase将根据每个子项的status
属性的值进行设置
正如您所指出的,它确实会将这些值作为字符串进行排序,因为您将数值存储为字符串。如果要按数字排序,请将其存储为实际数字。您只能有一个orderBy。。。在查询中。您的
orderByValue()
导致Firebase根据错误属性(键iirc)的值进行排序
如果删除orderByValue()
(因此只有orderByChild(“status”)
),Firebase将根据每个子项的status
属性的值进行设置
正如您所指出的,它确实会将这些值作为字符串进行排序,因为您将数值存储为字符串。如果要按数字排序,请将其存储为实际数字。查询中只能有一个
orderBy…
。如果删除.orderByValue()
它将按total
属性的值排序。@FrankvanPuffelen否。如果删除orderByValue()
,它将按字母排序,而不是按数字。当添加orderByValue()
时,它将按错误属性的值排序。只需使用orderByChild(“status”)
即可根据status
属性的值进行排序。它确实会将这些值排序为字符串,因为您将数值存储为字符串。如果要按数字排序,请将其存储为实际数字。查询中只能有一个orderBy…
。如果删除.orderByValue()
它将按total
属性的值排序。@FrankvanPuffelen否。如果删除orderByValue()
,它将按字母排序,而不是按数字。当添加orderByValue()
时,它将按错误属性的值排序。只需使用orderByChild(“status”)
即可根据status
属性的值进行排序。它确实会将这些值排序为字符串,因为您将数值存储为字符串。如果你想让它们按数字排序,就把它们存储为实际的数字。这和我的代码没有区别。此代码不是按子项“total”的值对列表排序。此代码与我的代码之间没有区别。此代码未按子项“total”的值对列表排序