如何以数字方式列出列表视图

时间:2018-03-25 15:32:41

标签: android firebase

在我的应用程序中,用户可以输入分数,并将其存储在Firebase中

myRef = mFirebaseDatabase.getReference().child("Scores").child("Net_and_Gross_Scores_Week_17th_March _2018 ");
private void showData(DataSnapshot dataSnapshot) {
    ArrayList<String> array  = new ArrayList<>();
    for(DataSnapshot ds : dataSnapshot.getChildren()){
        LeaderBoardScores uInfo = ds.getValue(LeaderBoardScores.class);
        array.add(" Net:" +uInfo.getNet() +  "  Name:" +uInfo.getFullName() + "   Gross:" + uInfo.getGross()+ "   Handicap:" + uInfo.getPlayerHandicap());


    }
    ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,array);
    mListView.setAdapter(adapter);
}

有没有办法以数字方式对firebase检索的结果进行排序? 我希望结果按照从最低到最高的净得分进行排序?

2 个答案:

答案 0 :(得分:3)

我很确定您要使用:

mFirebaseDatabase.getReference().child("Scores").child("Net_and_Gross_Scores_Week_17th_March _2018 ")
    .orderByChild("Net");

您可以通过撤消存储孩子的ArrayList来撤消搜索顺序。在设置ArrayAdapter之前添加以下行:

Collections.reverse(array);

这里重要的部分是orderByChild方法。我只是假设您的分数值存储在名为&#34;得分&#34; 的孩子中,但您当然可以将其调整到实际值。

有关订购参考资料的更多信息can be found here

答案 1 :(得分:0)

Here您可以找到检索已排序数据所需的所有信息。

例如,在您的情况下

Query query = mFirebaseDatabase.getReference().child("Scores")
    .child("Net_and_Gross_Scores_Week_17th_March _2018 ").orderByChild("Net");