¿Cómo obtiene el valor seleccionado de un Spinner?

Estoy tratando de obtener la cadena de elementos seleccionados de un Spinner . Hasta ahora he conseguido esto:

 bundle.putString(ListDbAdapter.DB_PRI, v.getText().toString()); 

Esto no funciona y da una excepción de casting de clase (pensé que podría lanzar una View a un widget que hereda. Obviamente no!) Entonces, ¿cómo obtener el valor seleccionado de un Spinner ?

Para obtener el valor seleccionado de un spinner puede seguir este ejemplo .

Cree una clase anidada que implemente AdapterView.OnItemSelectedListener. Esto proporcionará un método de devolución de llamada que notificará su aplicación cuando se haya seleccionado un elemento del Spinner.

Dentro del método "onItemSelected" de esa clase, puede obtener el elemento seleccionado:

 public class YourItemSelectedListener implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { String selected = parent.getItemAtPosition(pos).toString(); } public void onNothingSelected(AdapterView parent) { // Do nothing. } } 

Finalmente, su ItemSelectedListener debe estar registrado en el Spinner:

 spinner.setOnItemSelectedListener(new MyOnItemSelectedListener()); 

Tiene métodos getSelectedXXX de la clase AdapterView de la que deriva el Spinner:

GetSelectedItem ()

GetSelectedItemPosition ()

GetSelectedItemId ()

Simplemente use esto:

 spinner.getItemAtPosition(spinner.getSelectedItemPosition()).toString(); 

Esto le dará la String del elemento seleccionado en el Spinner .

mySpinner.getItemAtPosition(mySpinner.getSelectedItemPosition()) funciona basado en la descripción de Rich.

Depende ay qué punto desea "atrapar" el valor.

Por ejemplo, si desea capturar el valor tan pronto como el usuario cambie el elemento seleccionado por el hilador, utilice el método de escucha (proporcionado por jalopaba)

Si prefiere captar el valor cuando un usuario realiza la tarea final como hacer clic en un botón Enviar, o algo así, la respuesta proporcionada por Rich es mejor.

Esta es otra manera:

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

Para obtener sólo el valor de cadena dentro de la hiladora:

Spinner.getSelectedItem (). ToString ();

 Spinner spinner=(Spinner) findViewById(R.id.spinnername); String valueinString = spinner.getSelectedItem().toString(); 

En caso de Spinner los valores son int el typecast a int

 int valueinInt=(int)(spinner.getSelectedItem()); 
  • Android Spinner Artículo seleccionado
  • Alinear una ruleta subrayada en la misma línea junto al texto de edición
  • Edición de altura de edición de texto
  • Manejo de la orientación de la pantalla del androide para spinner
  • Multi spinner de selección en android sin AlertDialog
  • ¿Diversas vistas para el artículo del hilandero y del hilandero?
  • Cómo hacer que un spinner material de diseño surgen de un CardView
  • JSON Parsing problema con Spinners
  • Cómo deshabilitar onItemSelectedListener que se invocará al configurar el elemento seleccionado por código
  • Populating Spinner de la base de datos SQLite Android
  • ¿Recuperando el elemento seleccionado de la hiladora?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.