I am trying to get the selected items string out of a Spinner
. So far I have gotten this:
bundle.putString(ListDbAdapter.DB_PRI, v.getText().toString());
This does not work and gives a class casting exception (I thought I could cast a View
to a widget that inherits it. Obviously not!) So how do you get the selected value of a Spinner
?
This is another way:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int pos, long arg3) {
// TODO Auto-generated method stub
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
Simply use this:
spinner.getItemAtPosition(spinner.getSelectedItemPosition()).toString();
This will give you the String
of the selected item in the Spinner
.
You have getSelectedXXX methods from the AdapterView class from which the Spinner derives:
Depends ay which point you wish to "catch" the value.
For instance, if you want to catch the value as soon as the user changes the spinner selected item, use the listener approach (provided by jalopaba)
If you rather catch the value when a user performs the final task like clicking a Submit button, or something, then the answer provided by Rich is better.
Spinner spinner=(Spinner) findViewById(R.id.spinnername);
String valueinString = spinner.getSelectedItem().toString();
In Case Spinner values are int
the typecast it to int
int valueinInt=(int)(spinner.getSelectedItem());
mySpinner.getItemAtPosition(mySpinner.getSelectedItemPosition())
works based on Rich's description.
To get just the string value within the spinner use the following:
spinner.getSelectedItem().toString();
Source: Stackoverflow.com