我是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);
Run Code Online (Sandbox Code Playgroud)
这AtlasContact是一个接受来自Web服务的数据的类.
如果您取出由值的SQLite数据库,然后他们的作品查询到排序的值按字母顺序,并把它们放入数组排序。
或尝试将数据添加到ArrayList并仅使用Collections类为您排序:
Collections.sort(SourceArray);
Run Code Online (Sandbox Code Playgroud)
也,
可比接口并实现compareTo()方法
您只需要对源进行排序:
Collections.sort(atlastContacts, new Comparator<AtlasContact>(){
public int compare(AtlasContact a1, AtlasContact a2) {
return a1.getName().compareToIgnoreCase(a2.getName());
}
});
Run Code Online (Sandbox Code Playgroud)