保存微调器选定项的值

时间:2012-12-03 09:20:02

标签: android android-layout android-emulator android-widget

如何保存当前选定的微调器值,这样当我重新打开应用程序时,默认情况下会自动选择保存的值?

5 个答案:

答案 0 :(得分:3)

请在微调器的onItemSelectedListener()上写下以下代码,并将所选值存储到共享首选项中。

String mSpnValue=mSpinner1.getSelectedItem().toString();
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString("Value", mSpnValue);

在spinner中使用以下代码设置项目。

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String myString = myPrefs.getString("Value","nothing"); // the value you want the

ArrayAdapter<String> myAdap = (ArrayAdapter<String>) mSpinner1.getAdapter();
int spinnerPosition = myAdap.getPosition(myString);

// set the default according to value
mSpinner1.setSelection(spinnerPosition);

答案 1 :(得分:1)

您可以在首选项中保存微调器位置,并在使用spinner.setSelection(position_from_preferences);

时返回

答案 2 :(得分:0)

您可以使用多种方法

例如,您可以使用数据库并保存它。

其他方法和最好的IMO使用SharedPreferences http://developer.android.com/intl/es/reference/android/content/SharedPreferences.html

http://developer.android.com/intl/es/reference/android/app/backup/SharedPreferencesBackupHelper.html

答案 3 :(得分:0)

对于设定值,另一种方式:---

         for(int i=0;i<adapter.getCount();i++){
            if(adapter.getItem(i).equals(your save preference value){
                spinner_timer.setSelection(i);      
                }
         }

答案 4 :(得分:0)

您还可以按位置引用微调器值。这样你只需直接处理ints

    SharedPreferences settings = getSharedPreferences("MYPREFS", 0);
    SharedPreferences.Editor editor = settings.edit();
    editor.putInt("VALUE", spinner.getSelectedItemPosition());
    editor.commit();

并加载:

spinner.setSelection(settings.getInt("VALUE", 0));