In this tutorial we will learn to make a spinner list .
What are we going to do ?
-> We will make a drop down menu with two options Male and Female to select your gender .Then we will display the same in a TextView .
What we need ?
The code for activity_main.xml is given below :
activity_main.xml
Step 2 : Then we program the logic for our class MainActivity.java found in src folder . The code for MainActivity.java is given below .
MainActivity.java
Explanation of the code :
-> We will make a drop down menu with two options Male and Female to select your gender .Then we will display the same in a TextView .
What we need ?
- A layout (activity_main.xml)
- A java class (MainActivity.java)
- A Spinner
- A TextView
The code for activity_main.xml is given below :
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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/genderspinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" /> <TextView android:id="@+id/showgender" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/genderspinner" android:layout_marginLeft="10dp" android:layout_marginTop="20dp" /> </RelativeLayout>
Step 2 : Then we program the logic for our class MainActivity.java found in src folder . The code for MainActivity.java is given below .
MainActivity.java
package com.mia.spinnerdemo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity implements OnItemSelectedListener {
Spinner genderspinner;
TextView showgender;
private String[] state = { "Male", "Female"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println(state.length);
showgender = (TextView) findViewById(R.id.showgender);
genderspinner = (Spinner) findViewById(R.id.genderspinner);
ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, state);
adapter_state
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
genderspinner.setAdapter(adapter_state);
genderspinner.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
genderspinner.setSelection(position);
String selState = (String) genderspinner.getSelectedItem();
showgender.setText("Your Gender:" + selState);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
Step 3 : Run the Project .Explanation of the code :
- In the layout xml (activity_main.xml) we define the Spinner with id genderspinner and a TextView with id showgender .
- The item selected in Spinner is shown in the TextView(showgender) dynamically .
- In the class file MainActivity.java we declare two variables for Spinner and TextView as genderspinner and showgender respectively . (These declarations are different from the one in the layout. I have used the same name to reduce the complexity of the code) .
Spinner genderspinner; TextView showgender;
- Then we define a String Array named state which has the elements we are going to use in our drop-down list .
private String[] state = { "Male", "Female"};
- We connect the layout(activity_main.xml) to our class using the setContentView method .
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
- Then we assigning the Spinner and TextView in the layouts with the declarations in our class by referring to their unique ids from the layout(activity_main.xml) .
showgender = (TextView) findViewById(R.id.showgender); genderspinner = (Spinner) findViewById(R.id.genderspinner);
- We define an ArrayAdapter which adapts the array we defined previously (state) to the Spinner
ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, state); adapter_state
- Then we display the text related to the drop down item selected by using method onItemSelected() method and setText() method .
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
genderspinner.setSelection(position);
String selState = (String) genderspinner.getSelectedItem();
showgender.setText("Your Gender:" + selState);
}
Stay Tuned with Made In Android










No comments:
Post a Comment