我为布尔值和字符串值创建了共享首选项。布尔值在另一个活动中获得。但对于字符串我只获得默认值。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor spe = prefs.edit();
spe.putBoolean("flag", true);
spe.putString("user", "hello");
spe.commit();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean flag= prefs.getBoolean("flag", false);
String user=prefs.getString("user","Nothing");
TextView tv = new TextView(this);
tv.setText("Flag : "+flag+(" User : "+user);
对于“用户”,仅显示“Nothing”。我应该在哪里更正我的代码?
答案 0 :(得分:8)
尝试使用:
SharedPreferences settings = getSharedPreferences(appName,0);
settings.getBoolean("flag", true);
settings.getString("user", "hello");
并提出:
SharedPreferences settings = getSharedPreferences(appName,0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("flag",true);
editor.putString("user","hello");
editor.commit();
这是我在我的应用程序中使用的内容,并且它共享了许多类中的布尔值/整数/字符串
注意:appName不一定是应用名称,就像在官方教程中一样。