您可能需要解析JSON陣列:
List<Project> list = new ArrayList<Project>();
for (int i = 0; i < jArray.length(); i++) {
JSONObject obj = (JSONObject) jArray.get(i);
project = new Project();
project.setId(Long.parseLong(obj.get("id").toString()));
project.setKey(obj.get("key").toString());
project.setName(obj.get("name").toString());
list.add(project);
}
你可以用比較級這樣對它們進行排序:
Collections.sort(list), new Comparator<Project>() {
public int compare(Project p1, Project p2) {
return p1.getKey().compareToIgnoreCase(p2.getKey());
}
});
您也可以有Project
類和implements
類似:
public class Project implements Comparable<Project> {
private long id;
private String key;
private String name;
public int compareTo(Project p) {
if (this.key > p.key)
return -1;
else if (this.key < p.key)
return 1;
return 0;
}
}
然後排序Collections.sort(list);
My suggestion
列表中嘗試在服務器端對數據進行排序,因爲手機的內存是有限的,它可以使你的應用程序耗時顯示數據,但你在服務器端沒有內存限制問題。
來源
2012-08-13 09:48:11
Ali
嗨,我相信最好的辦法是從服務器本身獲取排序的數據。與手持設備相比,服務器具有更高的計算能力。這將加快您的過程,並且還可以節省您使用遊標的時間。 – mudit 2012-08-13 09:40:49
此鏈接可能會給你一些想法..http://stackoverflow.com/questions/7051785/when-jsonobject-keys-are-iterate-it-is-not-in-the-same-order-as-in-迴應 - 來自 – 2012-08-13 09:53:32
是的,我知道如何訂購。我不知道的是如何實現索引部分。這是使滾動彈出您的部分的第一個字母的東西。 – 2012-08-13 10:03:19