Reputation: 1598
All- I have two spinners side by side. I want it to be so that if an item in spinner1 is selected, spinner2 is invisible and visa versa. In other words the user should only be able to select one spinner. Here is my code concerning the spinners:
//Spinner 1
List<String> spin1= new ArrayList() ;
spin1.add("Select");
spin1.add("1");
spin1.add("2");
spin1.add("3" );
spin1.add("4");
Spinner spinner1 = (Spinner) findViewById(R.id.houses);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,
R.layout.spinnerlayout, spin1);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);
//Spinner 2
List<String> spin2 = new ArrayList() ;
spin2.add("Select");
spin2.add("1");
Spinner spinner2 = (Spinner) findViewById(R.id.hotels);
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,
R.layout.spinnerlayout, spin2);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter2);
Sample code welcome. Thank you for your time.
Upvotes: 0
Views: 5273
Reputation: 86948
The idea is simple enough:
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(position != 0)
spinner2.setVisibility(View.GONE);
else
spinner2.setVisibility(View.VISIBLE);
}
public void onNothingSelected(AdapterView<?> parent) {}
});
And vica versa for spinner2
. You'll need to change the definitions of spinner1
and spinner2
so that they are visible to the whole class:
public class ... {
Spinner spinner1;
Spinner spinner2;
@Override
public void onCreate() {
spinner1 = ...
Upvotes: 1