Then Came Cervantes / Could It Be I'm Working My Way Back to La Mancha, Babe
To populate a Spinner (in other environments known as a dropdown or a picklist or so), follow these simple steps:
Open your project's arrays.xml file that should live below ...\app\src\main\res\values\
Add some items in a string-array
section like so:
<string-array name="quixote_characters">
<item>Don Quixote</item>
<item>Sancho Panza</item>
<item>Teresa Panza</item>
<item>Dulcinea del Toboso</item>
<item>Rocinante</item>
<item>Dapple</item>
<item>Cide Hamete Benengeli</item>
<item>Cardenio</item>
<item>Mambrino's Helmet</item>
<item>La Mancha</item>
</string-array>
...so that it looks like this:
Add a Spinner to any Layout file (in Droidio (Android Studio), simply drag-and-drop a Spinner onto the image of the device to be emulated).
Alternatively, you can add the code directly by pasting in the following XML, and then modifying as necessary:
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spinnerQuixote" />
Then add this line to the XML:
android:entries="@array/quixote_characters"
...to that Spinner's XML to hook the values added above to the Spinner. In context, that looks like this:
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/quixoteSpinner"
android:entries="@array/quixote_characters"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
...so that when you run it, it looks like so:
An Embarrassment of Spoils
As a bonus, here is the code necessary to assign the selected value from the Spinner
to a String
variable:
final Spinner spin = (Spinner) findViewById((R.id.quixoteSpinner));
final String spinVal = String.valueOf(spin.getSelectedItem());
Respect the Strength of My Mighty Arm!
If you like this tip, send me Mambrino's helmet, or at least a reasonable facsimile thereof (perhaps via clever usage of a 3D printer).
OR! You could purchase the Kindle edition (over 2,600 pages) in Spanish and English, paragraph-by-paragraph of Don Quixote.