android - the - ¿Cómo obtener valor Spinner?
seleccionar spinner android (6)
Digamos que este es su xml con entradas de giro (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 tu hilandero
<Spinner
android:id="@+id/size_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/size_entries" />
Luego 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
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 hilandero?
El Spinner debe disparar 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) {
}
});
Sí, puede registrar un oyente a través de setOnItemSelectedListener()
, como se muestra here .
Si ya sabes que el artículo es una String
, prefiero:
String itemText = (String) mySpinner.getSelectedItem();
La llamada a toString()
en un Object
que usted sabe que es una String
parece una ruta más indirecta que simplemente lanzar el Object
a String
.
Spinner mySpinner = (Spinner) findViewById(R.id.your_spinner);
String text = mySpinner.getSelectedItem().toString();
View view =(View) getActivity().findViewById(controlId);
Spinner spinner = (Spinner)view.findViewById(R.id.spinner1);
String valToSet = spinner.getSelectedItem().toString();