¿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 spinner?
- ¿Cómo se puede utilizar un marcador de posición de carga que es un spinner animado con cargadores de imágenes como Glide, Picasso etc?
- ¿Cómo insertar elementos adicionales en un SimpleCursorAdapter o Cursor para un Spinner?
- ¿Puede el usuario desmarcar el valor en la hiladora?
- Cómo utilizar Android Spinner como una lista desplegable
- Establecer el modo spinner en XML
- Android: Spinners dentro de un ListView pierden sus valores cuando agrego dinámicamente nuevas entradas ListView
- ¿Cómo puedo cambiar el color de la fuente de la lista de selección en una ruleta?
- Spinner no está trabajando en android
- Cómo rellenar Spinner con ArrayList en Android
- Android Spinner - ¿Cómo eliminar los botones de radio?
- Modificar el tamaño de un Android Spinner Drop down tamaño de la parte?
- Cómo alinear el texto en Spinner para android?
- ¿Cómo obtener el número de elementos en un spinner?
Spinner mySpinner=(Spinner) findViewById(R.id.your_spinner); String text = mySpinner.getSelectedItem().toString();
El Spinner debe disparar un evento "OnItemSelected" cuando algo está seleccionado:
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) { } });
Digamos que este es su xml con entradas spinner (es decir, títulos) y valores:
<resources> <string-array name="size_entries"> <item>Small</item> <item>Medium</item> <item>Large</item> </string-array> <string-array name="size_values"> <item>12</item> <item>16</item> <item>20</item> </string-array> </resources>
Y este es su hilandero:
<Spinner android:id="@+id/size_spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/size_entries" />
A continuación, en su 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 demuestra 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 elemento es una String
, prefiero:
String itemText = (String) mySpinner.getSelectedItem();
Llamar toString()
a un Object
que usted sabe que es una String
parece una ruta más rotunda que simplemente lanzar el Object
a String
.
- Android – barra de búsqueda de estilo
- Cómo mostrar el recuento de notificaciones en el icono del lanzador de aplicaciones