Search code examples
androidspinnerandroid-cursor

Android Spinner Selected Item


I am populating a spinner from the database like this

    // Populating the City Spinner
    Cursor cities = db.cityList();
    startManagingCursor(cities);

    // create an array to specify which fields we want to display
    String[] from = new String[] { DBAdapter.KEY_NAME };
    // create an array of the display item we want to bind our data to
    int[] to = new int[] { android.R.id.text1 };

    Spinner cityList = (Spinner) this.findViewById(R.id.citySpiner);
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cities, from, to);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    cityList.setAdapter(adapter);

When i try to get the content from the selected item of the spinner like this

// Get the City
                Spinner getCity = (Spinner) findViewById(R.id.citySpiner);
                String cityName = getCity.getSelectedItem().toString();

i get the following. Is there a way i can get the city name or the city id from the database.

enter image description here


Solution

  • I think, as you are using a customadapter and giving three lists in adapter...

    you can't get the selected text simply by calling the getSelectedItem()..

    Use this:

    Spinner mySpinner = (Spinner)findViewbyId(R.id.spinner);
    int position = mySpinner.getSelectedItemPosition();
    String Text = yourCityList[position].toString(); // dont know which list is holding the city list... 
    // i didn't use any db in any of my app so cant tell you how can you get list... 
    // leaving it to you... :)
    

    Hope it helps....