3

我为布尔值和字符串值创建了一个共享首选项。布尔值是在另一个活动中获取的。但是对于字符串,我只得到默认值。

家庭类

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor spe = prefs.edit();

    spe.putBoolean("flag", true); 
    spe.putString("user", "hello");
    spe.commit(); 

欢迎.class

      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);

对于“用户”,仅显示“无”。我应该在哪里更正我的代码?

4

1 回答 1

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 不一定是应用名称,就像官方教程中的一样。

于 2010-12-13T14:19:12.783 回答