Я знаю, что этот вопрос уже имеет тонны ответов в SO, но я не нашел ответа на свою проблему.SharedPreference не обновляется после commit()
Вот мой код:
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(Config.SHARED_PREF_NAME, Context.MODE_PRIVATE);
//Creating editor to store values to shared preferences
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
//Adding values to editor
editor.putBoolean(Config.LOGGEDIN_SHARED_PREF, true);
editor.putString(Config.PHONE_SHARED_PREF, phoneNo);
Log.d("debug", "config "+Config.PHONE_SHARED_PREF);
Log.d("debug", "config "+phoneNo);
//Saving values to editor
editor.apply();
editor.commit();
Что я понимаю, editor.putString(Config.PHONE_SHARED_PREF, phoneNo)
означает сохранить значение phoneNo
в PHONE_SHARED_PREF
. Пожалуйста, поправьте меня, если я ошибаюсь.
Но когда в журнале, Config.PHONE_SHARED_PREF
напечатано значение по умолчанию вместо нового значения, назначенного в phoneNo
. Это значит, что значение phoneNo
не правильно сохранено, нет?
Может кто-нибудь объяснить мне, что случилось с моим кодом? :/
'commit()' и 'apply()' совпадают с последним, не возвращающим логическое значение. Удалите и повторите попытку. Вы можете получить значение с помощью 'editor.getString (Config.PHONE_SHARED_PREF," ")'. Второй параметр возвращается, если ключ не существует. –
Извините, попробуйте 'sharedPreferences.getString (...)'. –
ничего не возвращает (2-й параметр) – August