Basic Spinner Example

suggest change

Spinner It is a type of dropdown input. Firstly in layout

    android:id="@+id/spinner"     <!-- id to refer this spinner from JAVA-->

Now Secondly populate values in spinner There are mainly two ways to populate values in spinner.

  1. From XML itself create a array.xml in values directory under res. Create this array
<string-array name="defaultValue">
    <item>--Select City Area--</item>
    <item>--Select City Area--</item>
    <item>--Select City Area--</item>

Now add this line in sppiner XML

  1. You can also add values via JAVA

if you are using in activity cityArea = (Spinner) findViewById(; else if you are using in fragment

cityArea = (Spinner) findViewById(;

Now create a arrayList of Strings

ArrayList<String> area = new ArrayList<>();
//add values in area arrayList
cityArea.setAdapter(new ArrayAdapter<String>(context
                            , android.R.layout.simple_list_item_1, area));

This will look like

According to the device Android version it will render style

Following are some of the default themes

If an app does not explicitly request a theme in its manifest, Android System will determine the default theme based on the app’s targetSdkVersion to maintain the app’s original expectations:

Android SDK Version Default Theme
Version < 11 @android:style/Theme
Version between 11 and 13 @android:style/Theme.Holo
14 and higher @android:style/Theme.DeviceDefault

Spinner can be easily customized with the help of xml eg




Create a custom background in XML and use it.

easily get the position and other details of the selected item in spinner

cityArea.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            areaNo = position;

        public void onNothingSelected(AdapterView<?> parent) {


Change the text color of the selected item in spinner

This can be done in two ways in XML

<item android:state_activated="true" android:color="@color/red"/>

This will change the selected item color in the popup.

and from JAVA do this (in the setOnItemSelectedListener(…))

            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                 ((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
// similarly change `background color` etc.

Feedback about page:

Optional: your email if you want me to get back to you:

Table Of Contents