我在Android共享首选项方面需要一些帮助。我正在尝试在SP中放置一个布尔类型并使它在应用程序中的所有其他活动中可见,并且我希望能够从另一个活动中将布尔类型的状态更改为true / false,以便在其中进行一些更改用户界面取决于该布尔值。
目前,我正在使用这段代码,虽然我理解,但并不正确。

这里是 :

活动1:

boolean isLoggedIn = false;

        SharedPreferences isLogged = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        SharedPreferences.Editor editor = isLogged.edit();
        editor.putBoolean("isLoggedIn", isLoggedIn);
        editor.commit();


活动2:

        boolean isLogged=true;

        int mode = Activity.MODE_PRIVATE;
        SharedPreferences  mySharedPreferences;
        mySharedPreferences=getSharedPreferences("isLoggedIn",mode);
        mySharedPreferences.edit().putBoolean("isLoggedIn", isLogged);
        boolean bool = mySharedPreferences.getBoolean("isLoggedIn",false);

        Log.w("Boolean","Boolean state : "+bool);

最佳答案

在活动2中,尝试像这样使用,它将起作用

mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());


并删除下面的行

mySharedPreferences.edit().putBoolean("isLoggedIn", isLogged);

10-06 13:07