问题描述
我只想通过使用 sort 和比较两个值来对我的数据进行排序。
这是我的代码:
ArrayAdapter arrayAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, myData);
arrayAdapter.sort(myData, new Comparator<myData>() {
@Override
public int compare(myData o1, myData o2) {
return Integer.compare(o1.getFinalScore(), o2.getFinalScore());
}
});
arrayAdapter.notifyDataSetChanged();
dataList.setAdapter(arrayAdapter);
但是我收到错误说 ArrayAdapter 中的 sort(java.util.Comparator) 不能应用于 (java.lang.string[],anonymousjava.util.Comparator)
谁能告诉我是什么问题??
myData 类
public class myData {
public int getFinalScore() {
return finalScore;
}
public void setFinalScore(int finalScore) {
this.finalScore = finalScore;
}
private String customeName;
private String carName;
private String appointmentDate;
private String email;
private String issueDescribe;
private String timeForJob;
private String costForJob;
private String reliableOnCar;
private String distanceJob;
private int finalScore;
public myData(String customeName, String carName, String appointmentDate, String email, String issueDescribe, String timeForJob, String costForJob,
String reliableOnCar, String distanceJob, int finalScore) {
this.customeName = customeName;
this.carName = carName;
this.appointmentDate = appointmentDate;
this.email = email;
this.issueDescribe = issueDescribe;
this.timeForJob = timeForJob;
this.costForJob = costForJob;
this.reliableOnCar = reliableOnCar;
this.distanceJob = distanceJob;
this.finalScore = finalScore;
}
}
1楼
如果您查看 ArrayAdapter 的文档,您会发现它只需要一个参数,即比较器。
所以你必须像这样更新你的代码:
arrayAdapter.sort(new Comparator<myData>() {
@Override
public int compare(myData o1, myData o2) {
return Integer.compare(o1.getFinalScore(), o2.getFinalScore());
}
});
希望能帮助到你 !