Here is the right way dear ....
I wrote all the necessary states and cities in string_arays ....
like
<string-array name="State_array"> <item >s1</item> <item >s2</item> <item >s3</item> <item >s4</item> </string-array> //then cities array for each states, like <string-array name="State1Cities_array"> <item >c11</item> <item >c12</item> <item >c15</item> <item >c13</item> </string-array> <string-array name="State2Cities_array"> <item >c1</item> <item >c2</item> <item >c5</item> <item >c3</item> </string-array> // and so on for all the states
then basically xml added 2 spinners for both. i believe all you can do i just na?
then I have my main.xml as ...
spinner_states_activity = (Spinner)findViewById(R.id.spinner_states_main); spinner_states_activity.setOnItemSelectedListener(this); adapter = ArrayAdapter.createFromResource( this, R.array.state_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(R.layout.myspinner); // my layout for spinners u can use urs or defalut. k? spinner_states_activity.setAdapter(adapter); spinner_cities_activity = (Spinner)findViewById(R.id.spinner_cities_main); spinner_cities_activity.setOnItemSelectedListener(this); //and in function onItemSelected int pos,pos2; pos = spinner_states_activity.getSelectedItemPosition(); int iden=parent.getId(); if(iden==R.id.spinner_states_main) { pos2 = 0; switch (pos) { case 0: unit_adapter= ArrayAdapter.createFromResource( this, R.array.States1Cities_array, android.R.layout.simple_spinner_item); break; case 1: unit_adapter= ArrayAdapter.createFromResource( this, R.array.States3Cities_array, android.R.layout.simple_spinner_item); break; // all the StatesxCities entires.... default: break; } spinner_cities_activity.setAdapter(unit_adapter); unit_adapter.setDropDownViewResource(R.layout.myspinner); }
Just look at the look and do it yourself ... Hope this helps you a bit ...
k dear friends .. sujit
source share