Android - 按字母顺序在Spinner中对值进行排序而不会丢失ID

时间:2016-05-20 09:03:36

标签: android sorting spinner

我的项目中有一些stringarray,它们需要按字母顺序排序。但是,由于前一个人很大程度上依赖于微调器ID,我无法做到这一点,所以每个值的id都会发生变化。

意思是如果我的列表现在看起来像这样(后面是id):

- cat(0)
- dog(1) 
- book(2)

我希望它改为:

- book(2)
- cat(0)
- dog(1)

(为了说清楚,()'s中的数字是id,不应该在值中) 这有可能吗?

的问候,
Riekelt

1 个答案:

答案 0 :(得分:0)

您可以使用

ArrayList<String> list = new ArrayList<String>();
list.add("cat(0)");
list.add("book(1)");
...................
Collection.sort(list);

<强>更新

class StringItem {
    String text;
    int id;
}

ArrayList<StringItem> list = new ArrayList();
//Add the items and then perform sort as:
Collection.sort(list, new ItemComparator());

private class ItemComparator implements Comparator<StringItem> {
    @Override
    public int compare(StringItem i1, StringItem i2) {
        return i2.text.compareTo(i1.text);
    }
}