$*#@%$ ca-app-pub-4111868940087848/9468577869
Spinner
Spinner is a widget which provides a quick way to select a value from a set. A spinner presents multiple options/items to the user from which user can select one option.
For ex. In game application when we want user to select a particular level he/she wants to play, we can use spinner to multiples levels in which can select one level.
Using Spinner
Steps to use spinner in your application
1: Defining the spinner in your .xml/layout file by using “Spinner” tag
<!—Declaring Spinner in xml -->
<Spinner
android:id="@+id/spinner"
android:layout_marginTop="20dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/spinner_title"
/>
2: Create an array/arraylist of strings that will be set as the items of spinner.
String spinnerItems[]={"Level 1","Level 2","Level 3","Level 4","Level 5",};
3: Create adapter and set it with spinner
// Create adapter for spinner
ArrayAdapter dataAdapter = newArrayAdapter(this, android.R.layout.simple_spinner_item, spinnerItems);
// attaching data adapter to spinner
mySpinnerObject.setAdapter(dataAdapter);
4: Set clicklistener on Spinner
// set clicklisteneron Spinner
mySpinnerObject.setOnItemSelectedListener(this);
5: override onItemSelected() method, this method gets called by the System when an item is selected. This method receives the position parameter which signifies the index of the array/arraylist which is selected by the user.
@Override
public voidonItemSelected(AdapterView<?> parent, View view, intposition, long id)
{
// get the selected Spinner's Item
String itemSelected = parent.getItemAtPosition(position).toString();
}
Let put all this together and develop an android application to learn how to use spinner.
Demo Application: “Working with Spinner”
What we will do: We will present a list of levels “Level 1,Level 2,Level 3,Level 4,Level 5" to the user and show the level selected by the user using Toast.
activity_main.xml
<?xml version="1.0"encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Select the Level"
android:layout_marginTop="20dp"
android:textColor="#0000FF"
android:textSize="20dp"
android:textStyle="bold"
/>
<!-- Spinner Element -->
<Spinner
android:id="@+id/spinner"
android:layout_marginTop="20dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
SpinnerMainActivity.java
public classSpinnerMainActivity extends Activity implementsOnItemSelectedListener
{
Spinner mySpinner;
/* create array of string of levels
* to be set as Spinner Item
*/
String spinnerItems[]={"Level 1","Level 2","Level 3","Level 4","Level 5",};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// get the Spinner reference
mySpinner = (Spinner) findViewById(R.id.spinner);
// set clicklistener on Spinner
mySpinner.setOnItemSelectedListener(this);
// Create adapter for spinner
ArrayAdapter dataAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, spinnerItems);
// Drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
mySpinner.setAdapter(dataAdapter);
}
/* onItemSelected() method gets called by the System
* when an item is selected
* This method receives the position parameter
* which signifies the index of the array
* which is selected
*/
@Override
public voidonItemSelected(AdapterView<?> parent, View view, int position, long id)
{
// get the selected Spinner's Item
String itemSelected = parent.getItemAtPosition(position).toString();
// Showing selected spinner item
Toast.makeText(getApplicationContext(), itemSelected+" Selected", Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterViewview)
{
// TODOAuto-generated method stub
}
}
No comments:
Post a Comment