0

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

4

5 回答 5

3

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

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

使用下面的代码设置在微调器中选择的项目。

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);
于 2012-12-03T09:24:43.377 回答
1

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

于 2012-12-03T09:23:03.573 回答
0

以另一种方式设置值:---

         for(int i=0;i<adapter.getCount();i++){
            if(adapter.getItem(i).equals(your save preference value){
                spinner_timer.setSelection(i);      
                }
         }
于 2012-12-03T09:32:11.820 回答
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));
于 2012-12-03T09:40:26.293 回答
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

于 2012-12-03T09:23:13.920 回答