要按值设置 Spinner 的选定项,returns -1

To set selected item of Spinner by value, returns -1

我正在使用以下代码按值设置微调器的选定项目。但是我得到的位置是-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 天", "2 天", "3 天", "0 天", "5 天","6 天"};

int a = adapter.getPosition(b); 

将上一行中的适配器替换为 adapter1,因为您已将适配器初始化为 "adapter1"

您可以像这样在微调器中设置选择

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