Spinners provide a way to select one value from a set. The spinner displays a dropdown menu with all available values, from which the user can select a new one. In the default state, a spinner shows its currently selected value.

To add a list of values to the spinner, you then need to specify a SpinnerAdapter in your Activity, which extends Adapter class.. A spinner adapter allows to  define two different views: one that shows the data in the spinner itself and one that shows the data in the drop down list when the spinner is pressed.

Here is a complete example that shows the usage of spinner.

activity_main.xml

<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”

xmlns:tools=“http://schemas.android.com/tools”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:background=“@drawable/bg_cyan”

    android:gravity=“center”>

<Spinner

android:id=“@+id/spinner_id”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content” />

</RelativeLayout>

MainActivity.java

import android.os.Bundle;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.Spinner;

import android.widget.AdapterView.OnItemSelectedListener;

public class MainActivity extends Activity {

Spinner spin;

String spin_val;

String[] gender = { “Male”, “Female” };//array of strings used to populate the spinner

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);//setting layout

spin = (Spinner) findViewById(R.id.spinner_id);//fetching view’s id

//Register a callback to be invoked when an item in this AdapterView has been selected

spin.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override

public void onItemSelected(AdapterView<?> arg0, View arg1,

int position, long id) {

// TODO Auto-generated method stub

spin_val = gender[position];//saving the value selected

}

@Override

public void onNothingSelected(AdapterView<?> arg0) {

// TODO Auto-generated method stub

}

});

//setting array adaptors to spinners

//ArrayAdapter is a BaseAdapter that is backed by an array of arbitrary objects

ArrayAdapter<String> spin_adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, gender);

// setting adapter to spinner

spin.setAdapter(spin_adapter);

}

}

I’m also attaching my  spinner_Demo project for your reference. spinner_DEMO   🙂

Screenshots: