【问题标题】:How set selection in spinner of some string if spinner contains the same? [duplicate]如果微调器包含相同的字符串,如何在微调器中设置选择? [复制]
【发布时间】:2012-02-09 22:19:13
【问题描述】:

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

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

例如:

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

第二个字符串包含:黄色

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

如何在不重新填充微调器的情况下做到这一点?

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

解决方案:

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;

【问题讨论】:

    标签: android string file position spinner


    【解决方案1】:

    类似:

    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;
    
    }
    

    【讨论】:

    • 嗯,只有当我有 2 个微调器时它才应该工作。但我只有一个微调器,由第一个字符串创建。
    • 好的,我编辑了代码,它可以工作了,谢谢,你可以看到解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 2012-10-11
    • 2015-08-18
    相关资源
    最近更新 更多