我无法检索微调器的选定值。有人可以帮我吗?谢谢。
这就是我检索数据的方式。它位于 onCreate()
方法中。
mPrefs = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SpinnerLang.setSelection(mPrefs.getInt(PREF_SPINNER, 0));
然后我将 Spinner 的值保存在一个按钮中,因此当用户从 Spinner 中选择并单击按钮时,所选值将被保存。
//Listening to button event
btnDone.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Editor e = mPrefs.edit();
int Spinnervalue = SpinnerLang.getSelectedItemPosition();
e.putInt("PREF_SPINNER", Spinnervalue);
e.commit();
}
最佳答案
使用 spinner.setOnItemSelectedListener()
将所选项目位置存储在首选项中
spinner.setAdapter(mySpinnerAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
/**
* Called when a new item is selected (in the Spinner)
*/
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
mPrefs.edit().putInt("PREF_SPINNER", position).commit();
}
public void onNothingSelected(AdapterView<?> parent) {
// Do nothing.
}
}); // (optional)
//UPDATE - When you are using a button onCLick()
// to set the spinner selection:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
spinner.setSelection(mPrefs.getInt("PREF_SPINNER", 0));
}
});
// set the spinner selected item from preference after
// spinner.setAdapter(mySpinnerAdapter);
// -or it will default to the first item
// spinner.setSelection(mPrefs.getInt(PREF_SPINNER, 0));
关于android - 微调器 : Storing and Retrieving value using Shared Preferences in Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14302519/