-3

I have two spinners , when I choose " carnivore " on spinnner 1 , then the spinner 2 contains the data " crocodile " , " Tiger " .

but when I choose " herbivore " the spinner 1 , then the spinner 2 contains the data " giraffe " , " cow " .

does anyone have the android code similar to the above case ?

Irwan
  • 1
  • 1

1 Answers1

0

the step involves are : add OnItemSelectedListener for spinner1, on item selection: populate the second with new data set

String dataSpinner1 [] = {"carnivore", "herbivore" };
String dataSpinner2 [][] = {{"crocodile", "Tiger"},{"giraffe", "cow"} };
spinner.setOnItemSelectedListener(this); // register OnItemSelectedListener

ArrayAdapter<String> spinnerArrayAdapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, dataSpinner1); // adapter for spinner1
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(spinnerArrayAdapter1);

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {

populateAdapterForSecond(pos);

}

//set adapter for second
private void populateAdapterForSecond(int pos){
String spinnerArray [] = new String[2];
for(int i=0; i<2; i++){
spinnerArray[i] = dataSpinner2[pos][i] ;
}
ArrayAdapter<String> spinnerArrayAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, spinnerArray); // adapter for spinner1
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(spinnerArrayAdapter2);
}
Blue_Alien
  • 2,148
  • 2
  • 25
  • 29