I want to select value from second spinner on the basis of value selected in first spinner.For example my first spinner displays country name and second spinner displays city name of that respective country.The problem is that second spinner is always taking first value as selected.Example-first spinner is country name-India,pakistan,china and second spinner is cities name,so if i select india and my spinner is-delhi,up,punjab then it always get selected value as delhi always.When I change the selected value even the function onItemSelected is not calling again.Code for the same is-
public class LaunchCampaign1 extends Activity implements OnItemSelectedListener,OnClickListener
{
String[] countryStr = {"Select", "India", "Pakistan", "China"};
String[] states_india = {"Select", "Delhi", "UP", "Bihar"};
String[] states_china = { "Select","Shanghai", "Beijing", "Nanjing"};
String[] states_pak = { "Select","Lahor", "Islamabaad", "Punjab"};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launch_campaign);
country=(Spinner)findViewById(R.id.spinnerCountry);
country.setOnItemSelectedListener((OnItemSelectedListener) this);
ArrayAdapter <String> c = new ArrayAdapter <String> (this,android.R.layout.simple_spinner_item,countryStr);
c.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
country.setAdapter(c);
city=(Spinner)findViewById(R.id.spinnerCity);
city.setOnItemSelectedListener((OnItemSelectedListener) this);
city.setEnabled(false);
public void onItemSelected(AdapterView<?> arg0, View view, int position,long id)
{
if(arg0.equals(country))
{
city.setEnabled(true);
if(country.getSelectedItem().equals("India"))
{
ArrayAdapter <String> s1 = new ArrayAdapter <String> (this,android.R.layout.simple_spinner_item,states_india);
s1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
city.setAdapter(s1);
/*city.setSelection(position);
Log.e("pos",""+position);
String cityStr = (String) city.getSelectedItem();*/
String cityStr=(String) city.getSelectedItem();
Log.e("city",cityStr);
}
else if(country.getSelectedItem().equals("Pakistan"))
{
ArrayAdapter <String> s2 = new ArrayAdapter <String> (this,android.R.layout.simple_spinner_item,states_pak);
s2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
city.setAdapter(s2);
}
else if(country.getSelectedItem().equals("China"))
{
ArrayAdapter <String> s3 = new ArrayAdapter <String> (this,android.R.layout.simple_spinner_item,states_china);
s3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
city.setAdapter(s3);
}
}
}
}