当我单击按钮对列表视图进行排序时,它可以正常工作,但只有当我开始滚动列表视图时才会显示排序顺序。
这就是我的数据模型类中的内容:
public static Comparator<Emplyoyee> sortNameAtoZ = new Comparator<Emplyoyee>() {
@Override
public int compare(Emplyoyee lhs, Emplyoyee rhs) {
String emp1 = lhs.getName();
String emp2 = rhs.getName();
return emp1.compareTo(emp2);
//descending order
//return StudentName2.compareTo(StudentName1);
}};
当用户点击按钮时,我称之为:
Collections.sort(rowdata, EmployeeRowData.sortNameZtoA);
adapter.notifyDataSetChanged();
在进行研究并比较不同来源后,设置与此处的设置相同,但单击按钮后不会立即对列表视图进行排序。我使用Volley用远程数据库中的数据填充listview。
答案 0 :(得分:2)
重置你的arraylist。
试试这个:
Collections.sort(rowdata, EmployeeRowData.sortNameZtoA);
adapter.setArrayList(rowdata);
adapter.notifyDataSetChanged();
您的适配器
public void setArrayList(ArrayList<Emplyoyee> array){
yourArray =array;
}