Android
    About Lesson

    Spinners in Android are similar to drop-down menus that we see in other programming languages. They are used to display a list of items from which the user can select one. In this blog, we’ll learn how to use Spinners in an Android app using Java.

     

    Creating a Spinner

    To create a Spinner, you first need to define it in your layout file:

    <Spinner
    android:id="@+id/spinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

    Populating the Spinner

    To populate the Spinner with data, you need to create an ArrayAdapter and set it to the Spinner. Here’s how you can do it:

    Spinner spinner = findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

     

    In the above code, R.array.planets_array is an array resource defined in res/values/arrays.xml:

    <resources>
    <string-array name="planets_array">
    <item>Mercury</item>
    <item>Venus</item>
    <item>Earth</item>
    <item>Mars</item>
    <item>Jupiter</item>
    <item>Saturn</item>
    <item>Uranus</item>
    <item>Neptune</item>
    </string-array>
    </resources>

     

    Handling Spinner Selections

    To handle the selection of items in the Spinner, you need to set an OnItemSelectedListener to the Spinner:

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    String selected = parent.getItemAtPosition(pos).toString();
    Toast.makeText(parent.getContext(), "Selected Planet: " + selected, Toast.LENGTH_SHORT).show();
    }
    public void onNothingSelected(AdapterView<?> parent) {
    }
    });

     

    In the above code, when an item is selected, a Toast message is displayed showing the selected item.