如果微调器包含相同的字符串,在spinner中如何设置选择?

时间:2012-01-13 18:12:42

标签: android string file position spinner

我最近发布了类似的问题,但没有人帮助过我。所以我会比以前更好地解释我的问题。

所以我从一个文件中读取了一些文本(这个文件可能包含更多单词),然后我从第二个文件中读取文本(该文件总是包含一个单词,与第一个文件中的一个单词相同)。两个文件中的文本每次都可能不同。

例如:

第一个字符串包含:黑色蓝色黄色,红色,绿色

第二个字符串包含:黄色

然后我从第一个字符串创建微调器,所以微调器在这个例子中包含这些单词(黑色蓝色黄色红色绿色),所以默认选项是黑色(因为它是我的数组中的第一个),但我需要将第三个位置设为在这个例子中我的微调器默认,因为第二个字符串包含黄色,黄色位于我的微调器中的第三个位置。

如何在不重新填充微调器的情况下制作它?

顺便说一句。这些字符串只是示例。文件可能总是包含与以前不同的单词。

解决方案:

s1.setSelection(getIndex(s1, prefNameCurGOV));

然后:

private int getIndex(Spinner s1, String prefNameCurGOV){

        int index = 0;

        for (int i=0;i<s1.getCount();i++){
            if (s1.getItemAtPosition(i).equals(prefNameCurGOV)){
                index = i;
            }
        }
        return index;

1 个答案:

答案 0 :(得分:2)

类似的东西:

String secondString = secondSpinner.getSelectedItem();

firstSpinner.setSelection(getIndex(firstSpinner,secondString));

然后使用

private int getIndex(Spinner spinner,String string){

//Pseudo code because I dont remember the API

int index = 0;

for (int i = 0; i < firstSpinner.size(); i++){

if (firstSpinner.getItemAtPosition(i).equals(string)){
   index = i;
}

}

return index;

}