Android Programming Pull-down Menu Spinner Usage Summary (attached 2 example) _android

Source: Internet
Author: User
Tags static class stub

This paper gives a detailed summary and analysis of the Android programming pull-down menu spinner usage. Share to everyone for your reference, specific as follows:

The spinner control is also a list-type control, and its inheritance relationship is as follows:

Java.lang.Object
↳android.view.view
↳android.view.viewgroup
↳android.widget.adapterview<textends android.widget.adapter>
↳android.widget.absspinner
↳android.widget.spinner

Android.widget.Spinner inherits the Android.view.ViewGroup class .

In Android UI development, Spinner (Drop-down list) is always available, a simple custom Spinner production we just need to remember this important five steps, a Spinner can be applied and born.

(1) A new Android project, named Spinner. At the same time to build an activity, named Spinneractivity.

(2) Modify Res/layout/main.xml

<?xml version= "1.0" encoding= "Utf-8"?> <linearlayout xmlns:android= 
"http://schemas.android.com/apk/" Res/android " 
 android:orientation=" vertical " 
 android:layout_width=" fill_parent " 
 android:layout_" height= "Fill_parent" 
 > 
 <textview 
 android:id = "@+id/textview_city" 
 android:layout_width = " Wrap_content " 
 android:layout_height =" Wrap_content " 
 android:text =" City: " 
 /> 
 <!-- Define a city information drop-down menu--> 
 <spinner 
 android:id = "@+id/spinner_city" 
 android:layout_width = "Wrap_ Content " 
 android:layout_height =" Wrap_content "> 
 </spinner > 
</LinearLayout>

(3) Spinneractivity.java Code

Package cn.com; 
Import java.util.ArrayList; 
Import java.util.List; 
Import android.app.Activity; 
Import Android.os.Bundle; 
Import android.view.MotionEvent; 
Import Android.view.View; 
Import Android.widget.AdapterView; 
Import Android.widget.ArrayAdapter; 
Import Android.widget.Spinner; 
Import Android.widget.TextView; The public class Spinneractivity extends activity {/** called the ' when the ' is the ' is ' the ' activity ' is a-created private List<stri 
 ng> list = new arraylist<string> (); 
 Private TextView Mytextview; 
 Private Spinner Myspinner; 
 Private arrayadapter<string> adapter; 
 @Override public void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); 
 Setcontentview (R.layout.main); 
 First step: Add a list of dropdown items, where the items added are Drop-down list menu items list.add ("Beijing"); 
 List.add ("Shanghai"); 
 List.add ("Shenzhen"); 
 List.add ("Fuzhou"); 
 List.add ("Xiamen"); 
 Mytextview = (TextView) Findviewbyid (r.id.textview_city); 
 Myspinner = (Spinner) Findviewbyid (r.id.spinner_city); Step two: Define an adapter for the Drop-down list,Here we use the list defined in the front. adapter = new Arrayadapter<string> (this,android.
 R.layout.simple_spinner_item, list); 
 Step Three: Set the menu style for the adapter when you drop down the Drop-down list. Adapter.setdropdownviewresource (Android. 
 R.layout.simple_spinner_dropdown_item); 
 Step Fourth: Add the adapter to the Drop-down list on Myspinner.setadapter (adapter); Step Fifth: Set up a response to a variety of events for the Drop-down list, the Response menu is selected Myspinner.setonitemselectedlistener (new Spinner.onitemselectedlistener () {public 
  void onitemselected (adapterview<?> arg0, View arg1, int arg2, long arg3) {//TODO auto-generated method stub 
  /* Bring the selected Myspinner value into the Mytextview/Mytextview.settext ("Your choice is:" + adapter.getitem (arg2)); 
  /* Will myspinner display * * arg0.setvisibility (view.visible); public void onnothingselected (adapterview<?> arg0) {//TODO auto-generated method stub Mytextview.settex 
  T ("NONE"); 
  Arg0.setvisibility (view.visible); 
 } 
 }); /* Drop-down Menu Popup Content Options Touch-screen event handling/Myspinner.setontouchlistener (new Spinner.ontouchlistener () {public boolean Ontouch (View V, Moti OnEvent event) {//TODO auto-generated Method Stub/** * */return false; 
 } 
 }); /* Drop-down Menu Popup Content option focus Change event handling/Myspinner.setonfocuschangelistener (new Spinner.onfocuschangelistener () {public void 
 Onfocuschange (View V, boolean hasfocus) {//TODO auto-generated Method stub}});

 } 
}

The results of the operation are shown in the following illustration:

Add: Spinner Control Usage Example 2

Usage 1:

<linearlayout xmlns:android= "http://schemas.android.com/apk/res/android"
 xmlns:tools= "http:// Schemas.android.com/tools "
 android:id=" @+id/container "
 android:orientation=" vertical "
 android: Layout_width= "Fill_parent"
 android:layout_height= "fill_parent"
 tools:context= "com.example.mars_2100_" Spinner. Mainactivity "
 tools:ignore=" Mergerootframe ">
<spinner android:layout_width=" Fill_parent
 " android:layout_height= "Wrap_content"
 android:id= "@+id/spinnerid"/>
</LinearLayout>

Package Com.example.mars_2100_spinner;
Import android.support.v7.app.ActionBarActivity;
Import Android.support.v7.app.ActionBar;
Import android.support.v4.app.Fragment;
Import Android.os.Bundle;
Import Android.view.LayoutInflater;
Import Android.view.Menu;
Import Android.view.MenuItem;
Import Android.view.View;
Import Android.view.ViewGroup;
Import Android.widget.AdapterView;
Import Android.widget.ArrayAdapter;
Import Android.widget.Spinner;
Import Android.widget.Toast;
Import Android.os.Build;
 public class Mainactivity extends Actionbaractivity {private static final string[] M_arr = {"First group", "second group", "third Group"};
 @Override protected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate);
 Setcontentview (R.layout.activity_main);
 Spinner _spin = (Spinner) Findviewbyid (R.id.spinnerid); arrayadapter<string> ada = new Arrayadapter<string> (this, Android.
 R.layout.simple_spinner_item, M_arr); Ada.setdropdownviewresource (Android. R.layout.simple_spinner_dropdown_item);
 _spin.setadapter (ADA); _spin.setonitemselectedlistener (New Spinner.onitemselectedlistener () {public void onitemselected (ADAPTERVIEW&LT;?
  > arg0, View arg1, int arg2, long arg3) {disptoast ("select +m_arr[arg2]");
  Arg0.setvisibility (view.visible);
 public void onnothingselected (adapterview<?> arg0) {//}}); /*if (savedinstancestate = = null) {Getsupportfragmentmanager (). BeginTransaction (). Add (R.id.container, new
 Placeholderfragment ()). commit ();
 }*/} public void Disptoast (String str) {toast.maketext (this, str, toast.length_short). Show (); @Override public boolean Oncreateoptionsmenu (Menu menu) {//Inflate the menu; This adds the items to the action bar if I
 T is present.
 Getmenuinflater (). Inflate (R.menu.main, menu);
 return true; @Override public boolean onoptionsitemselected (MenuItem Item) {//Handle Action Bar item clicks here. The action bar would//automatically handle clicks on the Home/up button, so long//As you specify a parent aCtivity in Androidmanifest.xml.
 int id = item.getitemid ();
 if (id = = r.id.action_settings) {return true;
 return super.onoptionsitemselected (item);
 }/** * A placeholder fragment containing a simple view. */public static class Placeholderfragment extends Fragment {public placeholderfragment () {} @Override public View Oncreateview (Layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) {View Rootview = inflater.inflate
  (R.layout.fragment_main, container, false);
 return rootview;

 }
 }
}

Usage 2:

<linearlayout xmlns:android= "http://schemas.android.com/apk/res/android"
 xmlns:tools= "http:// Schemas.android.com/tools "
 android:id=" @+id/container "
 android:orientation=" vertical "
 android: Layout_width= "Fill_parent"
 android:layout_height= "fill_parent"
 tools:context= "com.example.mars_2100_" Spinner. Mainactivity "
 tools:ignore=" Mergerootframe ">
<spinner android:layout_width=" Fill_parent
 " android:layout_height= "Wrap_content"
 android:id= "@+id/spinnerid2"/> <textview android:id=
"@+id/" TextView1 "
 android:layout_width=" fill_parent "
 android:layout_height=" wrap_content "/>
< Spinner android:layout_width= "fill_parent" android:layout_height= wrap_content "android:id=" @+id/
 SpinnerId3 "/>
<textview android:id=
 @+id/textview2" android:layout_width= "Fill_parent" android:layout_height= "Wrap_content"/>
</LinearLayout>

Package Com.example.mars_2100_spinner;
Import android.support.v7.app.ActionBarActivity;
Import Android.support.v7.app.ActionBar;
Import android.support.v4.app.Fragment;
Import android.app.Activity;
Import Android.os.Bundle;
Import Android.view.LayoutInflater;
Import Android.view.Menu;
Import Android.view.MenuItem;
Import Android.view.View;
Import Android.view.ViewGroup;
Import Android.widget.AdapterView;
Import Android.widget.AdapterView.OnItemSelectedListener;
Import Android.widget.ArrayAdapter;
Import Android.widget.Spinner;
Import Android.widget.TextView;
Import Android.os.Build;  public class Main02activity extends activity {Static final string[] constellations = new string[] {"Aries", "Taurus", "Gemini",
 "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Magic Scorpion", "Aquarius", "Pisces"};
 @Override protected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate);
 Setcontentview (R.LAYOUT.ACTIVITY_MAIN02);
 Final TextView txt2 = (TextView) Findviewbyid (R.ID.TEXTVIEW1); Spinner S1= (Spinner) Findviewbyid (R.ID.SPINNERID2); Final arrayadapter<charsequence> adapter = Arrayadapter.createfromresource (this, R.array.planets_array, Android.
 R.layout.simple_spinner_item); Adapter.setdropdownviewresource (Android.
 R.layout.simple_spinner_dropdown_item);
 S1.setadapter (adapter);
 S1.setprompt ("test"); S1.setonitemselectedlistener (New Onitemselectedlistener () {@Override public void onitemselected (ADAPTERVIEW&LT;?
  > Parent, view view, int position, long id) {Txt2.settext (Adapter.getitem (position). ToString ());
  @Override public void onnothingselected (adapterview<?> parent) {Txt2.settext ("unchecked");
 }
 });
 Final TextView TXT4 = (TextView) Findviewbyid (R.ID.TEXTVIEW2);
 Spinner s2 = (Spinner) Findviewbyid (R.ID.SPINNERID3); arrayadapter<charsequence> Adapterc = new Arrayadapter<charsequence> (this, Android.
 R.layout.simple_spinner_item, constellations); Adapterc.setdropdownviewresource (Android.
 R.layout.simple_spinner_item); S2.setadaptER (ADAPTERC); S2.setonitemselectedlistener (New Onitemselectedlistener () {public void onitemselected (adapterview<?> parent,
  View view, int position, long id) {Txt4.settext (constellations[position]);
  public void onnothingselected (adapterview<?> parent) {Txt4.settext ("unchecked");
 }
 }); @Override public boolean Oncreateoptionsmenu (Menu menu) {//Inflate the menu; This adds the items to the action bar if I
 T is present.
 Getmenuinflater (). Inflate (r.menu.main02, menu);
 return true; @Override public boolean onoptionsitemselected (MenuItem Item) {//Handle Action Bar item clicks here.  The action bar would//automatically handle clicks on the Home/up button, so long//as your specify a parent activity in
 androidmanifest.xml. int id = item.getitemid ();
 if (id = = r.id.action_settings) {return true;
 return super.onoptionsitemselected (item);
 }/** * A placeholder fragment containing a simple view. */public static class Placeholderfragment extends Fragment {public placeholderfragment () {} @Override public View oncreateview (layoutinflater inflater, ViewGroup con
  Tainer, Bundle savedinstancestate) {View Rootview = inflater.inflate (R.layout.fragment_main02, container, false);
 return rootview;

 }
 }
}
<?xml version= "1.0" encoding= "Utf-8"?>
<resources>
 <string name= "App_name" >mars_2100_ spinner</string>
 <string name= "Hello_world" >hello world!</string>
 "<string name=" Action_settings ">Settings</string>
 <string-array name=" Planets_array ">
 <item> mercury</item>
 <item>Venus</item>
 <item>Earth</item>
 <item> mars</item>
 <item>Jupiter</item>
 <item>Saturn</item>
 <item> uranus</item>
 <item>Neptune</item>
 </string-array>
 <string name= " Title_activity_main02 ">Main02Activity</string>
</resources>

I hope this article will help you with the Android program.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.