Package com. icq. spinnercity; import java. util. arrayList; import java. util. list; import android. app. activity; import android. database. cursor; import android. database. sqlite. SQLiteDatabase; import android. OS. bundle; import android. view. view; import android. widget. adapterView; import android. widget. adapterView. onItemSelectedListener; import android. widget. spinner; import android. widget. textView; public class MainActivity extends Activity {private DBManager dbm; private SQLiteDatabase db; private Spinner province_spinner = null; private Spinner city_spinner = null; private Spinner country_spinner = null; private String provinceId = null; private String cityId = null; private String districtId = null; private TextView TV _showselect; @ Overrideprotected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. activity_main); province_spinner = (Spinner) findViewById (R. id. province_spinner); city_spinner = (Spinner) findViewById (R. id. city_spinner); country_spinner = (Spinner) findViewById (R. id. country_spinner); TV _showselect = (TextView) findViewById (R. id. TV _showselect); province ("select Province"); city_spinner.setPrompt ("select city"); country_spinner.setPrompt ("select region"); initProvince ();} public void initProvince () {dbm = new DBManager (this); dbm. openDatabase (); db = dbm. getDatabase (); List
List = new ArrayList
(); Try {String SQL = "select * from fs_province"; Cursor cursor = db. rawQuery (SQL, null); cursor. moveToFirst (); for (int I = 0; I <cursor. getCount (); I ++) {String code = cursor. getString (cursor. getColumnIndex ("ProvinceID"); String name = cursor. getString (cursor. getColumnIndex ("ProvinceName"); SpinnerItem myListItem = new SpinnerItem (); myListItem. setName (name); myListItem. setPcode (code); list. add (myListItem); cursor. moveToNext () ;}} catch (Exception e) {e. printStackTrace ();} dbm. closeDatabase (); db. close (); SpinnerAdapter myAdapter = new SpinnerAdapter (this, list); province_spinner.setAdapter (myAdapter); listener (new ProvinceOnSelectedListener ();} public void initCity (String pcode) {dbm = new DBManager (this); dbm. openDatabase (); db = dbm. getDatabase (); List
List = new ArrayList
(); Try {String SQL = "select * from fs_city where ProvinceID = '" + pcode + "'"; Cursor cursor = db. rawQuery (SQL, null); cursor. moveToFirst (); for (int I = 0; I <cursor. getCount (); I ++) {String code = cursor. getString (cursor. getColumnIndex ("CityID"); String name = cursor. getString (cursor. getColumnIndex ("CityName"); SpinnerItem myListItem = new SpinnerItem (); myListItem. setName (name); myListItem. setPcode (code); list. add (myListItem); cursor. moveToNext () ;}} catch (Exception e) {e. printStackTrace ();} dbm. closeDatabase (); db. close (); SpinnerAdapter myAdapter = new SpinnerAdapter (this, list); city_spinner.setAdapter (myAdapter); listener (new CityOnSelectedListener ();} public void initCountry (String pcode) {dbm = new DBManager (this); dbm. openDatabase (); db = dbm. getDatabase (); List
List = new ArrayList
(); Try {String SQL = "select * from fs_district where CityID = '" + pcode + "'"; Cursor cursor = db. rawQuery (SQL, null); cursor. moveToFirst (); for (int I = 0; I <cursor. getCount (); I ++) {String code = cursor. getString (cursor. getColumnIndex ("DistrictID"); String name = cursor. getString (cursor. getColumnIndex ("DistrictName"); SpinnerItem myListItem = new SpinnerItem (); myListItem. setName (name); myListItem. setPcode (code); list. add (myListItem); cursor. moveToNext () ;}} catch (Exception e) {e. printStackTrace ();} dbm. closeDatabase (); db. close (); SpinnerAdapter myAdapter = new SpinnerAdapter (this, list); callback (myAdapter); listener (new listener ();} class ProvinceOnSelectedListener implements OnItemSelectedListener {public void onItemSelected (AdapterView)
AdapterView, View view, int position, long id) {provinceId = (SpinnerItem) adapterView. getItemAtPosition (position )). getPcode (); String pcode = (SpinnerItem) adapterView. getItemAtPosition (position )). getPcode (); initCity (pcode); initCountry (pcode);} public void onNothingSelected (AdapterView
AdapterView) {}} class CityOnSelectedListener implements OnItemSelectedListener {public void onItemSelected (AdapterView
AdapterView, View view, int position, long id) {cityId = (SpinnerItem) adapterView. getItemAtPosition (position )). getPcode (); String pcode = (SpinnerItem) adapterView. getItemAtPosition (position )). getPcode (); initCountry (pcode);} public void onNothingSelected (AdapterView
AdapterView) {}} class DistrictOnSelectedListener implements OnItemSelectedListener {public void onItemSelected (AdapterView
AdapterView, View view, int position, long id) {districtId = (SpinnerItem) adapterView. getItemAtPosition (position )). getPcode (); // here is the id selected by reality. You can use the actual Chinese Character TV _showselect.setText ("province Id =" + provinceId + ", city Id =" + cityId + ", region Id: "+ districtId); // other requested Operations} public void onNothingSelected (AdapterView
AdapterView ){}}}
No picture, no truth, as shown below:
: Http://download.csdn.net/detail/shi508181017/6908631
If you have any questions, contact me on QQ: 508181017.