Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-在不丢失id的情况下按字母顺序对微调器中的值进行排序_Android_Sorting_Spinner - Fatal编程技术网

Android-在不丢失id的情况下按字母顺序对微调器中的值进行排序

Android-在不丢失id的情况下按字母顺序对微调器中的值进行排序,android,sorting,spinner,Android,Sorting,Spinner,我的项目中有一些stringarray,它们需要按字母顺序排序。然而,由于前一个家伙严重依赖微调器id,我无法使每个值的id都改变 这意味着如果我的列表现在看起来像这样(id在后面): 我想把它改成这样: - book(2) - cat(0) - dog(1) (为了明确起见,()的中的数字是id,不应该在值中) 这有可能吗 问候, Riekelt您可以使用 ArrayList<String> list = new ArrayList<String>(); list.a

我的项目中有一些stringarray,它们需要按字母顺序排序。然而,由于前一个家伙严重依赖微调器id,我无法使每个值的id都改变

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

我想把它改成这样:

- book(2)
- cat(0)
- dog(1)
(为了明确起见,
()的
中的数字是id,不应该在值中) 这有可能吗

问候,
Riekelt

您可以使用

ArrayList<String> list = new ArrayList<String>();
list.add("cat(0)");
list.add("book(1)");
...................
Collection.sort(list);
ArrayList list=new ArrayList();
添加(“类别(0)”;
增加(“第(1)册”);
...................
收集、排序(列表);
更新

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);
    }
}
类字符串项{
字符串文本;
int-id;
}
ArrayList=新建ArrayList();
//添加项目,然后按以下方式执行排序:
sort(list,newitemparator());
私有类ItemComparator实现Comparator{
@凌驾
公共整数比较(StringItem i1、StringItem i2){
返回i2.text.compareTo(i1.text);
}
}
您可以使用

ArrayList<String> list = new ArrayList<String>();
list.add("cat(0)");
list.add("book(1)");
...................
Collection.sort(list);
ArrayList list=new ArrayList();
添加(“类别(0)”;
增加(“第(1)册”);
...................
收集、排序(列表);
更新

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);
    }
}
类字符串项{
字符串文本;
int-id;
}
ArrayList=新建ArrayList();
//添加项目,然后按以下方式执行排序:
sort(list,newitemparator());
私有类ItemComparator实现Comparator{
@凌驾
公共整数比较(StringItem i1、StringItem i2){
返回i2.text.compareTo(i1.text);
}
}

我不认为这样可以保持id不变。那么您不能定义类似的内容吗?类项{String text,int id},然后具有类型为item的arraylist。根据文本条目对数组列表进行排序。我指的ID也是微调器ID。所以我猜我必须在一个被填充后执行一个转换。我不认为这会保持id不变。那么你不能定义这样的东西吗?类项{String text,int id},然后具有类型为item的arraylist。根据文本条目对数组列表进行排序。我指的ID也是微调器ID。所以我猜我必须在一个被填充后执行一个转换