Java – Populate the Spinner from another Spinner based on conditions

Populate the Spinner from another Spinner based on conditions… here is a solution to the problem.

Populate the Spinner from another Spinner based on conditions

What I need to do is that if an item in spinner 1 is selected, it needs to display some array in spinner 01
For example
If a selected item of the spinner is red Spinner 01 needs to display level_array as a drop-down option for Spinner 01, otherwise CparkLevel is displayed.
Essentially, I’m trying to show how many layers each parking farm has. So rotator 1 contains the parking field name, and rotator 01 contains the level

    Spinner spinner = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.cparkColour_array, android. R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android. R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

Spinner spinner2 = (Spinner) findViewById(R.id.Spinner01);

if(spinner.getSelectedItem().equals("Red")){

ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(
            this, R.array.level_array, android. R.layout.simple_spinner_item);
    adapter1.setDropDownViewResource(android. R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter1);
    }

else {

ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(
            this, R.array.cparkLevel_array, android. R.layout.simple_spinner_item);
    adapter2.setDropDownViewResource(android. R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter2);
    }
}

Any help would be appreciated

Solution

Do this:

spinner_1.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int position, long arg3) {

if(spinner_1.getSelectedItem().equals("Red")){
                            {
                                   set adapter to spinner_2 here for "Red" selected
                            }
                            else
                            {
                                  set adapter to spinner_2 for "Red" not selected
                            }
            }    
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {                
            }
});

Related Problems and Solutions