我遇到了在不同活动中使用SharedPreferences的问题,并且没有创建XML文件(我不知道为什么)。
我在两个活动中使用SharedPreferences:
这是第一个,我只需要阅读文件:
func (e Error) Error() string {
return fmt.Sprintf("Error: %+v", e.Message)
}
这是另一项活动,在那里我阅读了用户首选项,我需要保存它们并将它们包含在SharedPreferences中:
TextView screenCurrency = findViewById(R.id.dollar);
preferences = getSharedPreferences("UserPreference", Context.MODE_PRIVATE);
if(preferences.contains("currency")){
screenCurrency.setText(preferences.getString("currency","defect_currency"));
if(preferences.getString("currency","defect_currency").equals("USD")){
screenCurrency.setText("$");
} else if(preferences.getString("currency","defect_currency").equals("EUR")){
screenCurrency.setText("€");
}
} else {
screenCurrency.setText("$");
}
任何人都知道出了什么问题?
答案 0 :(得分:0)
更改您的代码
preferences = getSharedPreferences("UserPreference", Context.MODE_PRIVATE);
String currency = preferences.getString("currency",null)
if(currency.contains("currency")){
答案 1 :(得分:0)
我认为你缺少editor.commit();放置值后
var arr1 = ["CRS02","CRS04","CRS03","CRS01","CRS05"];
var arr2 = ["CRS02","CRS03","CRS05"];
var output = arr1.map( s => arr2.indexOf( s ) != -1 ? s : "--" );
console.log( output );
答案 2 :(得分:0)
如果您正在使用sharedPreferences进行活动,则必须使用 SharedPreferences sharedPreferences = getSharedPreferences(“myinfo”,Context.MODE_PRIVATE);