Android Spinner Example
Spinner is like the combox box of AWT or Swing. It can be used to display the multiple options to the user. Only one item can be selected by the user.In this example, we are going to display the country list. You need to use ArrayAdapter class to store the country list.
Example of Android Spinner
Let's see the simple example of spinner in android.activity_main.xml
Drag the Spinner from the pallete, now the activity_main.xml file will like this:
File: activity_main.xml
- <RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" >
- <Spinner
- android:id="@+id/spinner1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="83dp" />
- </RelativeLayout>
Activity class
Let's write the code to display item on the spinner and perform event handling.
File: MainActivity.java
- package com.example.spinner;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.Spinner;
- import android.widget.TextView;
- import android.widget.Toast;
- public class MainActivity extends Activity implements
- AdapterView.OnItemSelectedListener {
- String[] country = { "India", "USA", "China", "Japan", "Other", };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //Getting the instance of Spinner and applying OnItemSelectedListener on it
- Spinner spin = (Spinner) findViewById(R.id.spinner1);
- spin.setOnItemSelectedListener(this);
- //Creating the ArrayAdapter instance having the country list
- ArrayAdapter aa = new ArrayAdapter(this,android.R.layout.simple_spinner_item,country);
- aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //Setting the ArrayAdapter data on the Spinner
- spin.setAdapter(aa);
- }
- //Performing action onItemSelected and onNothing selected
- @Override
- public void onItemSelected(AdapterView arg0, View arg1, int position,long id) {
- Toast.makeText(getApplicationContext(),country[position] ,Toast.LENGTH_LONG).show();
- }
- @Override
- public void onNothingSelected(AdapterView arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.activity_main, menu);
- return true;
- }
- }
Output:


