使用共享preference保存微调所选项目的价值 [英] save value of spinner selected item using shared preference
问题描述
我如何保存当前选定的微调值,这样,当我重新打开应用程序中保存的值自动默认选择?
我目前的code:
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.loginpage);
最后的微调微调=(微调)findViewById(R.id.spinner1);
ArrayAdapter< CharSequence的>适配器= ArrayAdapter.createFromResource(
对此,R.array.spinner_array,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(适配器);
spinner.setOnItemSelectedListener(新AdapterView.OnItemSelectedListener(){
@覆盖
公共无效onItemSelected(适配器视图<>母公司视图中查看,INT位置,长的id){
共享preferences preFS = preferenceManager.getDefaultShared preferences(getBaseContext());
共享preferences.Editor prefEditor = prefs.edit();
prefEditor.putString(savedValue的,spinner.getSelectedItem()的toString());
。字符串savedValue的= spinner.getSelectedItem()的toString();
的for(int i = 0; I< 6,我++)
如果(savedValue.equals(spinner.getItemAtPosition(ⅰ)的ToString()))
{
spinner.setSelection(ⅰ);
打破;
}
}
@覆盖
公共无效onNothingSelected(适配器视图<>母公司){}
});
我还以为你要的是,在某些时候,你想显示你保存的值是什么(来自共享preference)在微调的所选项目。为此
设置微调适配器与所有的包括已保存的保护价值,你想显示你保存的值作为selected.Suppose您在适配器6项的默认值
字符串savedValue的= preferenceManager
.getDefaultShared preferences(上下文)
.getString(savedValue的,);
的for(int i = 0; I< 6,我++)
如果(savedValue.equals(spinner.getItemAtPosition(ⅰ)的ToString())){
spinner.setSelection(ⅰ);
打破;
}
要保存微调价值的共享preference做到这一点
共享preferences preFS;
preFS = preferenceManager.getDefaultShared preferences(上下文);
共享preferences.Editor prefEditor = prefs.edit();
prefEditor.putString(savedValue的,spinner.getSelectedItem()的toString());
prefEditor.commit();
How can I save the current selected spinner value, such that when I reopen the application the saved value is automatically selected by default?
My current code:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loginpage);
final Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.spinner_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences( getBaseContext());
SharedPreferences.Editor prefEditor = prefs.edit();
prefEditor.putString("savedValue",spinner.getSelectedItem().toString());
String savedValue=spinner.getSelectedItem().toString();
for(int i=0;i<6;i++)
if(savedValue.equals(spinner.getItemAtPosition(i).toString()))
{
spinner.setSelection(i);
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent){}
});
I thought what you want is-At some point,you want to show your saved value(comes from shared preference) in the spinner as selected item.For this
set spinner adapter with all the default values that includes your saved value.Now you want to show your saved value as selected.Suppose you have 6 items in the adapter
String savedValue=PreferenceManager
.getDefaultSharedPreferences(context)
.getString("savedValue","");
for(int i=0;i<6;i++)
if(savedValue.equals(spinner.getItemAtPosition(i).toString())){
spinner.setSelection(i);
break;
}
To save spinner value at shared preference do this
SharedPreferences prefs;
prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor prefEditor = prefs.edit();
prefEditor.putString("savedValue",spinner.getSelectedItem().toString());
prefEditor.commit();
这篇关于使用共享preference保存微调所选项目的价值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!