2017-01-08 67 views
1

我正在從arrayList製作listView。現在我想listView按字母順序排序..我已經在網上搜索,但沒有一個工作..我怎麼能實現它?按字母順序排列Arraylist

我的代碼:

String[] Hospitals = getResources().getStringArray(R.array.Hospitals); 
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Hospitals); 

mListView.setAdapter(adapter); 

「醫院」 是我的strings.xml文件列表。

+0

「我已經在網上搜索過,但沒有一個能夠正常工作」,您搜索並嘗試了什麼? –

+0

爲什麼不直接對arrayList進行排序? –

+0

這是用於排序的方法列表https://developer.android.com/reference/java/util/Collections.html#sort(java.util.List )只需將一個ArrayList放到數組中並使用它。 – Budius

回答

2

就像你說這醫院是不是一個ArrayList,而只是一個字符串數組(字符串[]),所以你需要使用:

List<String> list = Arrays.asList(etst); 

然後你可以用下面的代碼進行排序

Collections.sort(list, new Comparator<String>() { 
      @Override 
      public int compare(String s1, String s2) { 
       return s1.compareTo(s2); 
      } 
     }); 

如果你想它IGNORECASE:

Collections.sort(list, new Comparator<String>() { 
     @Override 
     public int compare(String s1, String s2) { 
      return s1.compareToIgnoreCase(s2); 
     } 
    }); 
0

排序與Arrays.sort(醫院)的陣列。