【问题标题】:To set selected item of Spinner by value, returns -1 [closed]按值设置 Spinner 的选定项,返回 -1 [关闭]
【发布时间】:2017-06-07 18:42:50
【问题描述】:

我正在使用以下代码按值设置微调器的选定项。但我得到的位置是-1。

代码:

final ArrayAdapter<CharSequence> adapter1 = new ArrayAdapter<CharSequence>(this,android.R.layout.simple_list_item_1, location_days2);
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        location_days.setAdapter(adapter1);
        String b = "5 Days"; 
        int a = adapter.getPosition(b); //this should return 5, but returns -1
        location_days.setSelection(a);

字符串数组:

private String[] location_days2 = {"Select days","1 Day", "2 Days", "3 Days", "0 Days", "5 Days","6 Days"};

【问题讨论】:

    标签: android spinner android-spinner android-studio-2.3


    【解决方案1】:
    int a = adapter.getPosition(b); 
    

    在上面的行中用 adapter1 替换适配器,因为您已将适配器初始化为“adapter1”

    【讨论】:

    • 是的,它现在可以工作了。这是一个愚蠢的@sathiya
    【解决方案2】:

    你可以这样做来设置微调器中的选择

    int pos = 0;
    String[] location_days2 = {"Select days", "1 Day", "2 Days", "3 Days", "0 Days", "5 Days", "6 Days"};
    for (String location : location_days2) {
       if (location.equalsIgnoreCase("5 Days")) {
           pos = Arrays.asList(location_days2).indexOf("23");
           break;
          }
        }
    location_days.setSelection(pos);
    

    【讨论】:

      猜你喜欢
      • 2017-02-10
      • 2018-10-23
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-14
      相关资源
      最近更新 更多