如何保存当前选择的微调器值,这样当我重新打开应用程序时,默认情况下会自动选择保存的值?
问问题
6853 次
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 回答