Android 按属性按Listview顺序对项目进行排序
我一直在努力争取排名。关于这个项目我有两个问题 第一个是在表中对玩家进行排序。所有代码都在工作,获取球员和比赛,计算球员参加的所有比赛的分数和平均值。但在联赛表格中,它按id打印球员顺序,我希望它按分数和平均值进行排序。我该怎么做 以下是PlayerListAdapter类: 1您可以使用以下方法对项目进行排序:Android 按属性按Listview顺序对项目进行排序,android,android-listview,baseadapter,listadapter,Android,Android Listview,Baseadapter,Listadapter,我一直在努力争取排名。关于这个项目我有两个问题 第一个是在表中对玩家进行排序。所有代码都在工作,获取球员和比赛,计算球员参加的所有比赛的分数和平均值。但在联赛表格中,它按id打印球员顺序,我希望它按分数和平均值进行排序。我该怎么做 以下是PlayerListAdapter类: 1您可以使用以下方法对项目进行排序: playerList.Sort((x, y) => string.Compare(x.Name, y.Name)); //or however playerList and na
playerList.Sort((x, y) => string.Compare(x.Name, y.Name));
//or however playerList and name are called ;P
2我在读代码时迷失了方向,所以我告诉你怎么做:
线性布局容器填充所有筛网;
两个ScrollView,其中with=match parent,heigth=wrap content
在滚动视图中,您可以放置列表
如果您有疑问或认为我说错了什么,请告诉我:
编辑2:
playerList.sort{x,y->
if(x.clause1 == y.clause1){
x.clause2<=> y.clause2
}else{
x.clause1<=> y.clause1
}
}
对不起,我上一次编辑写错了,很困惑我是用Comparator做的。它是按点排序的。但我有个问题。如果两个玩家的分数相同,我如何按平均值排序 PointSorter.java 调用排序:
请添加玩家等级代码。你试过使用界面吗?编辑的主要帖子@petey@burakkaanerce哥们,你只是说它是按id打印的,而不是你想怎么做:P不管怎样,我编辑了,检查一下,哥们,你确定吗?我找不到这些方法。@burakkaanerce对不起,我把自己和上次的编辑搞混了,我现在把它修好了,应该可以用了!
package burakkaanerce.turnuvator;
public class Player {
private int _id;
private String _name;
private int _tID;
public Player(String _name, int _tID) {
super();
this._name = _name;
this._tID = _tID;
}
public Player() {
super();
}
public int getId() {
return _id;
}
public void setId(int _id) {
this._id = _id;
}
public String getName() {
return _name;
}
public void setName(String _name) {
this._name = _name;
}
public int gettID() {
return _tID;
}
public void settID(int _tID) {
this._tID = _tID;
}
}
playerList.Sort((x, y) => string.Compare(x.Name, y.Name));
//or however playerList and name are called ;P
playerList.sort{x,y->
if(x.clause1 == y.clause1){
x.clause2<=> y.clause2
}else{
x.clause1<=> y.clause1
}
}
package burakkaanerce.turnuvator;
import java.util.Comparator;
public class PointSorter implements Comparator<Player> {
public int compare(Player aPlayer, Player anotherPlayer) {
int returnVal = 0;
if(aPlayer.get_totalPoint() > anotherPlayer.get_totalPoint()){
returnVal = -1;
}else if(aPlayer.get_totalPoint() < anotherPlayer.get_totalPoint()){
returnVal = 1;
}else if(aPlayer.get_totalPoint() == anotherPlayer.get_totalPoint()){
returnVal = 0;
}
return returnVal;
}
}
List<Player> players = dbHelper.getAllPlayers(temptID);
Collections.sort(players, new PointSorter());