5

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

注意:- 我正在从 Web 服务接收数据。

我的代码是:-

        <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是一个接受来自网络服务的数据的类。

4

4 回答 4

6

如果您要从SQLite DB中获取值,那么它们会执行查询以按字母顺序对值进行排序并将它们排序在一个 ARRAY 中。

尝试将数据添加到ArrayList并使用Collections 类为您排序::

Collections.sort(SourceArray);

还,

可比接口并实现方法compareTo()

于 2013-01-03T05:32:45.223 回答
6

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

Collections.sort(atlastContacts, new Comparator<AtlasContact>(){
  public int compare(AtlasContact a1, AtlasContact a2) {
    return a1.getName().compareToIgnoreCase(a2.getName());
  }
});
于 2013-01-03T05:33:07.520 回答
0

尝试Collections.sort(atlastContacts);

于 2013-01-03T05:34:01.387 回答
0

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

你只需要实现你自己的Comparator. 我想这只是:

int compare(String s1, String s2) { return s1.compareTo(s2); }
于 2013-01-03T05:34:14.523 回答