package com.mobidev.spinerexample; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; /** * Created by lawrence on 4/30/15. */ public class StoreSelectedItemActivity extends ActionBarActivity { private Spinner mySpinner; private int selected_os_position; private String[] androidOSVersionsArray = {"Alpha (1.0)", "Beta (1.1)", "Cupcake (1.5)", "Donut (1.6)", "Eclair (2.0–2.1)", "Froyo (2.2–2.2.3)", "Gingerbread (2.3–2.3.7)", "Honeycomb (3.0–3.2.6)", "Ice Cream Sandwich (4.0–4.0.4)", "Jelly Bean (4.1–4.3.1)", "KitKat (4.4–4.4.4, 4.4W–4.4W.2)", "Lollipop (5.0–5.1)"}; private static final String ARG_SELECTED_OS = "pref_selected_os"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple_spinner); mySpinner = (Spinner) findViewById(R.id.mySpinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.my_simple_spinner_item, androidOSVersionsArray); adapter.setDropDownViewResource(R.layout.my_simple_spinner_dropdown_item); mySpinner.setAdapter(adapter); mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { selected_os_position = position; } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } @Override public void onStart() { super.onStart(); /** * Read the previously selected position */ if (readSelectedOs() != 0) { mySpinner.setSelection(readSelectedOs()); } } @Override public void onPause() { super.onPause(); /** * Store selected position before leaving the activity */ saveSelectedOS(selected_os_position); } protected void saveSelectedOS(int position) { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(getApplicationContext()); sp.edit().putInt(ARG_SELECTED_OS, position).commit(); } protected int readSelectedOs() { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(getApplicationContext()); return sp.getInt(ARG_SELECTED_OS, 0); } }