Friday, May 25, 2012

Country/State Example using Spinner in Android

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>
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>
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);
}
});

3 comments:

  1. what is output please put screenshot

    ReplyDelete
  2. how can we get all the countries with cities... ?? reply karo jaldi... please

    ReplyDelete
  3. this is perfect way


    sp.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) {

    }
    });

    ReplyDelete