[英]Saving and loading spinner value using sharedPreferences
我尝试使用sharedPreferences
在spinner
保存和加载所选项目。 即使代码没有显示错误,也无法正常工作。 有人帮忙。
country=(Spinner)findViewById(R.id.spinner);
spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.countries_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
public void saveFile(){
SharedPreferences sharedPref = getSharedPreferences(FileName,Context.MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPref.edit();
int userChoice = country.getSelectedItemPosition();
editor.putInt("userChoiceSpinner",userChoice);
}
public void readFile(){
SharedPreferences sharedPref = getSharedPreferences(FileName,Context.MODE_PRIVATE);
int spinnerValue = sharedPref.getInt("userChoiceSpinner",0);
country.setSelection(spinnerValue);
}
您忘记了使用editor.apply();
在SharedPreferences
保存价值
SharedPreferences
对象。 这将自动执行请求的修改,从而替换SharedPreferences
当前存在的任何内容。 尝试这个
public void saveFile(){
SharedPreferences sharedPref = getSharedPreferences(FileName,Context.MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPref.edit();
int userChoice = country.getSelectedItemPosition();
editor.putInt("userChoiceSpinner",userChoice);
editor.apply();
}
您将国家/地区和微调器设置为相同的ID,可能显示一个微调器未设置数据
country=(Spinner)findViewById(R.id.spinner);
spinner = (Spinner) findViewById(R.id.spinner);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.