2017-01-18 2 views
0

Кто-нибудь знает, где ошибка? В Android Studio есть ошибка.Android: SharedPreferences Boolean

На данный момент действует код.

final String keyFirstTime = "keyFirstTime"; 

prefsEditor.putBoolean(keyFirstTime, false); 

if (keyFirstTime = false) { 

Заранее спасибо.

+2

Ну, 'keyFirstTime' является' String', так что вы не можете присвоить логическое значение к нему. И выражение в выражении 'if' должно быть типа' boolean' (или 'Boolean'). –

+0

Показать полный код пожалуйста. – Yoleth

+0

@BalkrishnaRawool nope, это все еще ошибка компилятора, потому что строки никогда не совпадают с булевыми. –

ответ

2
  1. keyFirstTime является строкой (см комментарий)
  2. вы помещаете значение не получает значение
  3. Вы используете задание в если заявление
  4. Вы сравниваете STRING булевской

В деятельности 1 вы должны иметь:

final String keyFirstTime = "keyFirstTime"; 
prefsEditor.putBoolean(keyFirstTime, false); 

В деятельности 2 вы должны иметь:

boolean firstTime = prefs.getBoolean(keyFirstTime, false); //you don't need the editor 
if (firstTime) { 
    ... 
} 

Пожалуйста, перейдите сюда для учебника: https://developer.android.com/training/basics/data-storage/shared-preferences.html

EDIT Попробуйте сделать это (украдено из here)

+0

спасибо, но что, если я хочу, чтобы keyFirstTime был истинным в начале (в первый раз, когда пользователь запустил приложение) и изменил значение с true на false (если нажата кнопка) – quidproquo

+0

Вы можете изменить значение в любой точке, если вы используете ту же строку, что и ключ в SharedPreferences –

+0

. Я обновил ответ, чтобы попытаться помочь вам лучше –

0
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(); prefs.edit().putBoolean("keyFirstTime", true).commit(); 

Теперь получить значение Boolean, вы должны использовать

Boolean check = prefs.getBoolean("keyFirstTime", false); 

Теперь вы можете проверить этот путь

если (проверка) {код} здесь

+0

thank вы за ответ – quidproquo

Смежные вопросы