Reputation: 1
I have created a class, and added two spinners to the layout.
Objectives: if you select any item from the first spinner it will change the content of the second spinner.
I am calling from onCreate()(onItemSelected(spinnercategoryl, spinnerEnterprisel, x, i);)
. The problem is that when I select any item from the first, it change the content of the second, but if i need to select any item from the second then it will not appear as selected item.
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
// TODO Auto-generated method stub
Spinner spinnerEnterprisel = (Spinner) findViewById(R.id.spinner_enterprise_folding_inserter);
Spinner spinnercategoryl = (Spinner) findViewById(R.id.spinner_categories);
switch (spinnercategoryl.getSelectedItemPosition()) {
case 0:
ArrayAdapter<CharSequence> adapterDatal = ArrayAdapter
.createFromResource(this,
R.array.enterprise_folding_inserter,
android.R.layout.simple_spinner_item);
adapterDatal
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerEnterprisel.setAdapter(adapterDatal);
break;
case 1:
ArrayAdapter<CharSequence> adapterData1 = ArrayAdapter
.createFromResource(this, R.array.enterprise_sorters,
android.R.layout.simple_spinner_item);
adapterData1
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerEnterprisel.setAdapter(adapterData1);
break;
case 2:
ArrayAdapter<CharSequence> adapterData2 = ArrayAdapter
.createFromResource(this, R.array.Softwares,
android.R.layout.simple_spinner_item);
adapterData2
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerEnterprisel.setAdapter(adapterData2);
break;
case 3:
ArrayAdapter<CharSequence> adapterData3 = ArrayAdapter
.createFromResource(this, R.array.workflow,
android.R.layout.simple_spinner_item);
adapterData3
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerEnterprisel.setAdapter(adapterData3);
break;
}
spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);
spinnercategoryl.setOnItemSelectedListener(enterprise.this);
// Spinner spinnerEnterprisel1 = (Spinner)
// findViewById(R.id.spinner_enterprise_folding_inserter);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}`
Upvotes: 0
Views: 871
Reputation: 86958
You have set the same listener to both Spinners. Whenever you make a choice in either Spinner the "child" Spinner will be reset. Simply remove any code that sets the "child" Spinner's OnItemSelectedListener
:
spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);
Now the "child" Spinner will retain the choice you selected.
Upvotes: 1