我是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服务的数据的类。
答案 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); }