Проблема с SharedPreferences для Android - PullRequest
0 голосов
/ 13 сентября 2011

Мне нужно немного помочь с общими настройками 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 ]

3 голосов
/ 13 сентября 2011

В упражнении 2 попробуйте использовать вот так, и оно будет работать

mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

и удалить строку ниже

mySharedPreferences.edit().putBoolean("isLoggedIn", isLogged);
0 голосов
/ 13 сентября 2011

Put edit.commit (); после mySharedPreferences.edit (). PutBoolean ("isLoggedIn", isLogged); Это поможет вам получить правильное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...