我从服务器获取JSON数据并能够通过代码解析JSON数据。 现在将它存储在hashmap中,然后添加到arraylist并在listview中显示所有内容 似乎工作正常。
HashMap<String, String> map = new HashMap<String, String>();
map.put(Constants.KEY_REFERENCE,p.reference); map.put(Constants.KEY_NAME, p.name);
map.put("distance","p.distance");
ArrayListItems.add(map);
现在,当我在listview中显示数据时它工作正常,但现在我想按升序排序距离,最少从顶部开始。 任何帮助将不胜感激。谢谢提前
现在我可以排序,但是当我显示它时距离有问题 1.23, 1.45, 2.39, 3.56, 然后它显示 0.38, 0.56。
它没有排序以0开头的值
所以请帮助我。
答案 0 :(得分:2)
我会查看Collections.sort();
以及如何使用Comparable
界面对HashMap
进行排序(通过覆盖compare()
方法)。以下article非常有用,因为如果我没有弄错,有两种不同的方法可以对HashMap进行排序;一个是它的键,另一个是它的值。
答案 1 :(得分:2)
你可以用这个:
Collections.sort(arrayList, new Comparator<HashMap< String,String >>() {
@Override
public int compare(HashMap<String, String> lhs,
HashMap<String, String> rhs) {
// Do your comparison logic here and retrn accordingly.
return 0;
}
});