Firebase orderByKey不起作用

时间:2016-06-14 10:06:05

标签: android firebase firebase-realtime-database

我有一个对象。

{
featured-routines: {
 1465895195: "-LALALA"
 1465898164: "-KK7pEednXoUBszpqCmg"
 1465898185: "-KK9xFyA8skOvSLhaHWq"  
}
}

我试着通过调用来获取它们:

Database.getFeaturedReference()
        .orderByKey()
        .addValueEventListener(routineListener);

结果应按升序排列,但事实并非如此。这完全是随机的。它甚至与仪表板GUI中显示的顺序不同:

{ key = featured-routines, value = {1465898185=-KK9xFyA8skOvSLhaHWq, 1465895195=-LALALA, 1465898164=-KK7pEednXoUBszpqCmg} }

任何人都知道如何以正确的顺序获得它们?

1 个答案:

答案 0 :(得分:1)

要按照您要求的顺序处理孩子,您必须在ChildEvenListener中使用DataSnapshot.getChildren()ValueEventListener

    ValueEventListener routineListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot snapshot) {
            for (DataSnapshot child : snapshot.getChildren()) {
                Systme.out.println(snapshot.getKey());
            }
        }
        ...
    });