Android tutorial - spinner android - android app development - android studio - android development tutorial



Spinner android

Learn android - android tutorial - Spinner android - android examples - android programs

Android Spinner:

  • Android Spinner is like the combox box of AWT or Swing. It can be used to display the multiple options to the user in which only one item can be selected by the user.
  •  spinner light theme
  • Android spinner is like the drop-down menu with multiple values from which the end user can select only one value.
  • Android spinner is associated with AdapterView. So, you need to use one of the adapter classes with spinner.
  • Android Spinner class is the subclass of AsbSpinner class.

Drop down list is nothing but

  • A drop down will generate or display a list of items once it’s clicked.
  • Render a Spinner in XML, and load the selection items via XML file also.
  • Render another Spinner in XML, and load the selection items via code dynamically.
  • Attach a listener on Spinner, fire when user select a value in Spinner.
  • Render and attach a listener on a normal button fire when user click on it, and it will display selected value of Spinner.

1. List of Items in Spinner

  • Open “res/values/strings.xml” file,
  • Define the list of items that will display in Spinner (dropdown list).
  • File : res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">MyAndroidApp</string>
    <string name="country_prompt">Choose a country</string>

    <string-array name="country_arrays">
        <item>Malaysia</item>
        <item>United States</item>
        <item>Indonesia</item>
        <item>France</item>
        <item>Italy</item>
        <item>Singapore</item>
        <item>New Zealand</item>
        <item>India</item>
    </string-array>

</resources>
click below button to copy the code from android tutorial team

2. Spinner (DropDown List)

  • Open “res/layout/main.xml” file, add two spinner components and a button.
  • In “spinner1”, the “android:entries” represents the selection items in spinner.
  • In “spinner2”, the selection items will be defined in code later.
  • File : res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:entries="@array/country_arrays"
        android:prompt="@string/country_prompt" />

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

    <Button
        android:id="@+id/btnSubmit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Submit" />

</LinearLayout>
click below button to copy the code from android tutorial team

3. Android Code

  • File : MyAndroidAppActivity.java
package com.wikitechy.android;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

public class MyAndroidAppActivity extends Activity {

  private Spinner spinner1, spinner2;
  private Button btnSubmit;

  @Override
  public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);

	addItemsOnSpinner2();
	addListenerOnButton();
	addListenerOnSpinnerItemSelection();
  }

  // add items into spinner dynamically
  public void addItemsOnSpinner2() {

	spinner2 = (Spinner) findViewById(R.id.spinner2);
	List<String> list = new ArrayList<String>();
	list.add("list 1");
	list.add("list 2");
	list.add("list 3");
	ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
		android.R.layout.simple_spinner_item, list);
	dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
	spinner2.setAdapter(dataAdapter);
  }

  public void addListenerOnSpinnerItemSelection() {
	spinner1 = (Spinner) findViewById(R.id.spinner1);
	spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
  }

  // get the selected dropdown list value
  public void addListenerOnButton() {

	spinner1 = (Spinner) findViewById(R.id.spinner1);
	spinner2 = (Spinner) findViewById(R.id.spinner2);
	btnSubmit = (Button) findViewById(R.id.btnSubmit);

	btnSubmit.setOnClickListener(new OnClickListener() {

	  @Override
	  public void onClick(View v) {

	    Toast.makeText(MyAndroidAppActivity.this,
		"OnClickListener : " +
                "\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) +
                "\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),
			Toast.LENGTH_SHORT).show();
	  }

	});
  }
}
click below button to copy the code from android tutorial team
  • File : CustomOnItemSelectedListener.java
package com.wikitechy.android;

import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;

public class CustomOnItemSelectedListener implements OnItemSelectedListener {

  public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
	Toast.makeText(parent.getContext(),
		"OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
		Toast.LENGTH_SHORT).show();
  }

  @Override
  public void onNothingSelected(AdapterView<?> arg0) {
	// TODO Auto-generated method stub
  }

}
click below button to copy the code from android tutorial team

4. Demo - android emulator - android tutorial

  • Run the application.
  • Result, two spinners are displayed
 application run process
 item selection listener
  • Select “France” from spinner1, item selection listener is fired :
 on item selected listener

Related Searches to spinner android