Android 如何以数字形式列出列表视图

Android 如何以数字形式列出列表视图,android,firebase,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<&

在我的应用程序中,用户可以输入分数并将其存储在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);
}

myRef=mFirebaseDatabase.getReference().child(“分数”).child(“净分数和总分数”周数)2018年3月17日);
私有void showData(DataSnapshot DataSnapshot){
ArrayList数组=新的ArrayList();
对于(DataSnapshot ds:DataSnapshot.getChildren()){
排行榜分数uInfo=ds.getValue(排行榜分数.class);
add(“Net:+uInfo.getNet()+”Name:+uInfo.getFullName()+”Gross:+uInfo.getGross()+”disability:+uInfo.getPlayerHandicap());
}
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,数组);
mListView.setAdapter(适配器);
}
有没有办法以数字方式对firebase检索结果进行排序? 我希望结果按净分数从低到高排序?

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

例如,在你的情况下

Query query = mFirebaseDatabase.getReference().child("Scores")
    .child("Net_and_Gross_Scores_Week_17th_March _2018 ").orderByChild("Net");
您可以找到检索已排序数据所需的所有信息

例如,在你的情况下

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

我非常确定您想要使用:

mFirebaseDatabase.getReference().child("Scores").child("Net_and_Gross_Scores_Week_17th_March _2018 ")
    .orderByChild("Net");
您可以通过反转存储孩子的
ArrayList
来反转搜索顺序。在设置
ArrayAdapter
之前,请添加此行:

Collections.reverse(array);
这里的重要部分是
orderByChild
方法。我只是假设您的分数值存储在一个名为“score”的子项中,但您当然可以根据实际情况进行调整


有关订购参考资料的更多信息。

我非常确定您希望使用:

mFirebaseDatabase.getReference().child("Scores").child("Net_and_Gross_Scores_Week_17th_March _2018 ")
    .orderByChild("Net");
您可以通过反转存储孩子的
ArrayList
来反转搜索顺序。在设置
ArrayAdapter
之前,请添加此行:

Collections.reverse(array);
这里的重要部分是
orderByChild
方法。我只是假设您的分数值存储在一个名为“score”的子项中,但您当然可以根据实际情况进行调整


更多关于参考文献排序的信息。

你所说的“以数字方式”是什么意思?你所说的“以数字方式”是什么意思?这实际上是错误的,不起作用。如果您可以看到,
orderByKey()
不接受任何参数,因为它是按键排序的,而且键没有任何名称。天哪,我打字时分心了。谢谢你的报告,我现在正在纠正它@creativecreatormormaybenott这实际上是错误的,不起作用。如果您可以看到,
orderByKey()
不接受任何参数,因为它是按键排序的,而且键没有任何名称。天哪,我打字时分心了。感谢您的报告,我现在正在更正@CreativeCreatorMormayBenotas我希望按其排序的项目名称是Net,如果是mFirebaseDatabase.getReference().child(“分数”).child(“净分数”和“总分数”周2018年3月17日”).orderByChild(“净”)@AaronNicholl是的,您必须使用
orderByChild(“Net”)
then.myRef=mFirebaseDatabase.getReference().child(“分数”).child(“净分数”和“总分数”周2018年3月17日”).orderByChild(“净”);错误:(48132)错误:不兼容的类型:无法将查询转换为DatabaseReference@AaronNicholl您必须将
myRef
的类型从
DatabaseReference
更改为
Query
,因为它是一个查询
Query myRef=…
。由于我希望对其进行排序的项目的名称是Net,那么它应该是mFirebaseDatabase.getReference().child(“分数”).child(“净分数”和“总分数”(周)和2018年3月17日)。orderByChild(“净”)@AaronNicholl是的,您必须使用
orderByChild(“Net”)
then.myRef=mFirebaseDatabase.getReference().child(“分数”).child(“净分数”和“总分数”周2018年3月17日”).orderByChild(“净”);错误:(48132)错误:不兼容的类型:无法将查询转换为DatabaseReference@AaronNicholl您必须将
myRef
的类型从
DatabaseReference
更改为
Query
,因为它是一个查询<代码>查询myRef=…。