我想根据从微调器中选择的值从特定的数组列表中获取元素

I want to get elements from a specific arraylist depending on the selected value from spinner

我已经创建了多个数组列表,我想创建一个函数来显示数组列表中的项目,具体取决于从微调器中选择的内容。

我创建的一些数组列表

    ArrayList<String> delhi = new ArrayList<String>();
    delhi.add("Virgin Atlantic – London Heathrow");
    delhi.add("British Airways – London Heathrow");

    ArrayList<String> hongkong = new ArrayList<String>();
    hongkong.add("Virgin Atlantic – London Heathrow");
    hongkong.add("British Airways – London Heathrow");

    ArrayList<String> shanghai = new ArrayList<String>();
    shanghai.add("Virgin Atlantic – London Heathrow");
    shanghai.add("British Airways – London Heathrow");

    ArrayList<String> johannesburg = new ArrayList<String>();
    johannesburg.add("Virgin Atlantic – London Heathrow");
    johannesburg.add("British Airways – London Heathrow");

我创建的微调器中的一些值

    spinner = (Spinner) findViewById(R.id.spinner);
    ArrayList<String> list = new ArrayList<>();
    list.add("Delhi");
    list.add("Hong Kong");
    list.add("Shargai");
    list.add("Johannesburg");
    list.add("Lagos");
    list.add("Antigua");
    list.add("Barbados");
    list.add("Grenada");
    list.add("Havana");
    list.add("Jamaica");

您可能想使用 switch-case:

switch(value) {
case "Delhi":
 //Do something
break;
case "Hong Kong":
//Do something
break;
}

如果你想在 spinner 值更改时使用函数,请尝试在 onCreate 方法中为 spinner 添加侦听器:

 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int myPosition, long myID) {

            String country = spinner.getSelectedItem().toString();
            switch (country){
                case "Delhi":
               //do something
                    break;
                case "Hongkong":
              //do something
                    break;
             // etc,etc,etc
            }
        }