2016-05-14 60 views
0

當我點擊一個按鈕排序列表視圖,它的工作原理,但只有當我開始滾動列表視圖它顯示排序順序。如何使用Android中的Comparator即時對遠程數據進行排序?

這是我在我的數據模型類:

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從遠程數據庫中填充數據。

回答

2

重置您的數組列表。

試試這個:

Collections.sort(rowdata, EmployeeRowData.sortNameZtoA); 

    adapter.setArrayList(rowdata); 

    adapter.notifyDataSetChanged(); 

適配器

public void setArrayList(ArrayList<Emplyoyee> array){ 
yourArray =array; 
} 
+0

第一部分變爲在按鈕的onClick方法正確嗎? –

+0

是的,它是@SteveC。 – KDeogharkar

+0

嘗試將第一部分添加到我的按鈕'onClick,並提供錯誤「不兼容的類型」。 Required = ArrayList,Found = Void。我把它寫得和你一樣。 –

相關問題