¿Cómo obtener el valor de Spinner?

En Android, estoy tratando de obtener el valor de Spinner seleccionado con un oyente.

¿Cuál es la mejor manera de obtener el valor del rotor?

Spinner mySpinner = (Spinner) findViewById(R.id.your_spinner); String text = mySpinner.getSelectedItem().toString(); 

El Spinner debe activar un evento “OnItemSelected” cuando se selecciona algo:

 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView< ?> parent, View view, int pos, long id) { Object item = parent.getItemAtPosition(pos); } public void onNothingSelected(AdapterView< ?> parent) { } }); 

Diga que este es su xml con entradas spinner (es decir, títulos) y valores:

   Small Medium Large   12 16 20   

y este es tu spinner:

  

Luego en tu código para obtener las entradas:

 Spinner spinner = (Spinner) findViewById(R.id.size_spinner); String size = spinner.getSelectedItem().toString(); // Small, Medium, Large 

y para obtener los valores:

 int spinner_pos = spinner.getSelectedItemPosition(); String[] size_values = getResources().getStringArray(R.array.size_values); int size = Integer.valueOf(size_values[spinner_pos]); // 12, 16, 20 

Sí, puede registrar un oyente a través de setOnItemSelectedListener() , como se muestra aquí .

 View view =(View) getActivity().findViewById(controlId); Spinner spinner = (Spinner)view.findViewById(R.id.spinner1); String valToSet = spinner.getSelectedItem().toString(); 

Si ya sabes que el artículo es una String , prefiero:

 String itemText = (String) mySpinner.getSelectedItem(); 

Llamar a toString() en un Object que usted sabe que es una String parece una ruta más indirecta que simplemente enviar el Object a la String .