您可能需要解析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