Android drop-down optional menu spinner created:
1, create a Hellospinner Android project
2. Modify the Main.xml file:
<?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_heigh t= "Wrap_content" android:layout_margintop= "10dip" android:text= "@string/planet_prompt"/> <s Pinner android:id= "@+id/spinner" android:layout_width= "fill_parent" android:layout_height= "Wrap_c Ontent "android:prompt=" @string/planet_prompt "/> </LinearLayout>3. Modify the Strings.xml file to add: <?xml version= "1.0" encoding= "Utf-8"?> <resources> <string name= "Planet_prompt" > Choose a planet</string> <string-array name= "Planets_array" > <it em>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> </resources>4. Modify the OnCreate method in the Hellospinner.java file @Override public void OnCreate (Bundle savedinstancestate) { Super.oncreate (savedinstancestate); Setcontentview (R.layout.main); Spinner Spinner = (Spinner) Findviewbyid (R.id.spinner); Arrayadapter<charsequence> adapter = Arrayadapter.createfromresource ( & nbsp This, R.array.planets_array, Android. R.layout.simple_spinner_item); Adapter.setdropdownviewresource (Android. R.layout.simple_spinner_dropdown_item); Spinner.setadapter (adapter); }5, create an inner class: public class Myonitemselectedlistener implements Onitemselectedlistener {public void onitemselected (Ad Apterview<?> Parent, view view, int POS, long id) {Toast.maketext (Parent.getcontext (), "the planet is "+ parent.getitematposition (POS). toString (), Toast.length_long). Show (); public void onnothingselected (Adapterview parent) {//Does nothing. }} 6, Set Listener: Spinner.setonitemselectedlistener (New Myonitemselectedlistener ());
7, the result of the operation is as follows:
8, if the user chooses spinner one of the item, jumps into another activity, when from this activity jumps back, how lets spinner remember the user to choose the one item? The sharedpreferences is used here:
8.1 Declare a sharedpreferences:Sharedpreferences settings;
Editor editorsettings;
Settings = getsharedpreferences ("preferences_settings", context.mode_private);
Editorsettings = Settings.edit (); where "preferences_settings" is the symbol of this sharedpreferences, I feel like the only name.
8.2 Save the location and value of the item selected by the user in Spinner's Setonitemselectedlistener methodSpinner.setonitemselectedlistener (New Onitemselectedlistener () {
@Override
public void onitemselected (adapterview<?> parent, View arg1,
int postion, long id) {
Selectedname = Parent.getitematposition (postion). toString ();
Editorsettings.putint ("Selectedposition", postion);
editorsettings.putstring ("Selectedname", selectedname);
editorsettings.commit ();
8.3 reads a value in Sharedpreferences string name = Settings.getstring (" Selectedname "," "");
int position = Settings.getint ("Selectedposition", 0);
spinner.setSelection (position); Set the value of the spinner so that its current selection is the same as the previous one.
Android Spinner + sharedpreferences Save last selected value