This is a Example of country state. When i select country in one spinner it should populate other spinner with its states
<Spinner android:layout_width="match_parent" android:id="@+id/spinner1" android:layout_height="wrap_content" android:entries="@array/country">
</Spinner>
<Spinner android:layout_width="match_parent" android:id="@+id/spinner2" android:layout_height="wrap_content"></Spinner>
</Spinner>
<Spinner android:layout_width="match_parent" android:id="@+id/spinner2" android:layout_height="wrap_content"></Spinner>
I used strings.xml page you will get in value folder to populate country spinner using string-array
<string-array name="country">
<item>USA</item>
<item>INDIA</item>
<item>SRILANKA</item>
</string-array>
<item>USA</item>
<item>INDIA</item>
<item>SRILANKA</item>
</string-array>
Now code to display state when we select country.
Button nt=(Button)findViewById(R.id.button1);
final Spinner sp=(Spinner)findViewById(R.id.spinner1);
final Spinner sp1=(Spinner)findViewById(R.id.spinner2);
nt.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
List<String> l=new ArrayList<String>();
if(sp.getSelectedItem().toString().equals("USA"))
{
l.add("NEWYORK");
l.add("WASHINTON");
}
else if(sp.getSelectedItem().toString().equals("INDIA"))
{
l.add("gujarat");
l.add("bihar");
}
else if(sp.getSelectedItem().toString().equals("SRILANKA"))
{
l.add("colombo");
}
ArrayAdapter<String> ary=new ArrayAdapter<String>(Example1.this, android.R.layout.simple_spinner_item,l);
ary.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp1.setAdapter(ary);
}
});
what is output please put screenshot
ReplyDeletehow can we get all the countries with cities... ?? reply karo jaldi... please
ReplyDeletethis is perfect way
ReplyDeletesp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView parent, View view, int position, long id) {
List l = new ArrayList();
if (sp.getSelectedItem().toString().equals("Mahrashtra")) {
l.add("Mumbai");
l.add("Pune");
l.add("Nagpur");
} else if (sp.getSelectedItem().toString().equals("Goa")) {
l.add("Panji");
l.add("Margao");
l.add("Vaco Da Gama");
} else if (sp.getSelectedItem().toString().equals("Karnataka")) {
l.add("Bengluru");
l.add("Manglore");
l.add("Hubli");
}
ArrayAdapter ary = new ArrayAdapter(MainActivity.this, android.R.layout.simple_spinner_item, l);
ary.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp1.setAdapter(ary);
}
@Override
public void onNothingSelected(AdapterView parent) {
}
});