如何在微调器中按字母顺序对数据进行排序

时间:2013-01-03 05:29:10

标签: android

我是android领域的新手,我想按字母顺序排序我的微调器数据。请帮忙

注意: - 我正在接收来自网络服务的数据。

我的代码是: -

        <Spinner
            android:id="@+id/spinnerAtlasContactSignup"
            android:layout_width="200dip"
            android:layout_height="46dp"
            android:layout_below="@+id/editCompanySignup"
            android:layout_marginBottom="60dp"
            android:layout_marginTop="10dp"
            android:background="@drawable/slect_box1x"
            android:ems="10"
            android:padding="10dp"
            android:prompt="@string/atlas_contact" />

 private void initializeSpinner(ArrayList<AtlasContact> atlastContacts) {

    ArrayAdapter<AtlasContact> adapter = new ArrayAdapter<AtlasContact>(this,android.R.layout.simple_spinner_item, atlastContacts);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    // Apply the adapter to the spinner
    spinnerAtlasContact.setAdapter(adapter); 

此处AtlasContact是一个接受来自Web服务的数据的类。

4 个答案:

答案 0 :(得分:5)

您只需要对来源进行排序:

Collections.sort(atlastContacts, new Comparator<AtlasContact>(){
  public int compare(AtlasContact a1, AtlasContact a2) {
    return a1.getName().compareToIgnoreCase(a2.getName());
  }
});

答案 1 :(得分:4)

如果您从 SQLite数据库中获取值,则他们按字母顺序查询排序值并将它们排序在ARRAY中。

尝试将数据添加到 ArrayList ,只需使用收藏类为您排序::

Collections.sort(SourceArray);

此外,

可比较界面并实施方法 compareTo()

答案 2 :(得分:0)

尝试Collections.sort(atlastContacts);

答案 3 :(得分:0)

你检查过文档吗? ArrayAdapter中有排序方法。

您只需要实现自己的Comparator。我想这只是:

int compare(String s1, String s2) { return s1.compareTo(s2); }