¿Es posible llenar las opciones de un Spinner directamente en el diseño xml? Esta página sugiere que debería usar un ArrayAdapter? Parece incómodo no poder hacerlo ...
246
¿Es posible llenar las opciones de un Spinner directamente en el diseño xml? Esta página sugiere que debería usar un ArrayAdapter? Parece incómodo no poder hacerlo ...
No estoy seguro de esto, pero inténtalo.
En tu strings.xml define:
<string-array name="array_name">
<item>Array Item One</item>
<item>Array Item Two</item>
<item>Array Item Three</item>
</string-array>
En tu diseño:
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:entries="@array/array_name"
/>
Escuché que esto no siempre funciona en el diseñador, pero se compila bien.
android:entryValues="@array/array_name_values".drawSelectorOnTopya que no hay un selector separado que no sea el Spinner en sí. Sin embargo, la solución definitivamente funciona, ¡gracias!android:entryValues. ListPreference lo admite.SpinneryAbsSpinner. Tanto en API 19 como en 23, el constructor AbsSpinner hace uso de,R.styleable.AbsSpinner_entriespero en ninguna parte lo haceentryValues. Es solo una coincidencia que su código estaba haciendo lo que esperaba. (¿O tal vez las ROM de algunos fabricantes tienen una implementación Spinner personalizada que realmente manejaandroid:entryValues?)Defina esto en su archivo String.xml y asigne un nombre a la matriz que desee, como "Peso"
y este código en tu layout.xml
En su archivo java,
getActivityse usa en fragmentos; Si escribe ese código en la actividad, elimínelogetActivity.fuente
Respecto al primer comentario: si haces esto, obtendrás un error (en Android Studio). Esto se refiere a que está fuera del espacio de nombres de Android. Si no sabe cómo solucionar este error, consulte el ejemplo a continuación. ¡Espero que esto ayude!
Ejemplo -Antes:
Ejemplo - Después:
fuente
string-arrayque tenga unnameatributo y no reconoce elandroid:nameuno.