Я просто пытаюсь сохранить вход пользователя из editText в Shared Preference, но он не работает:
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int keycode, KeyEvent event) {
Log.v(TAG, keyword.getString("keyword", "mDefault")); //IT LOGS OUT THE DEFAULT STRING EVEN **AFTER** STORING THE PREFERENCES BEFORE
if (keycode == EditorInfo.IME_ACTION_SEND) {
editText.setText(editText.getText().toString());
keywordEditor.putString("keyword", editText.getText().toString());
keywordEditor.commit();
Log.v(TAG, keyword.getString("keyword", "default")); //CORRECT! THIS LINE WORKS
}
}
return true;
});
Когда я сначала отредактирую текст, я сначала получу журнал "mDefault
", который является нормальным, поскольку ничего не сохраняется в общих предпочтениях.
Затем я сохраняю что-то в общих предпочтениях и, чтобы убедиться, что он сохранен, я запишу, и я получаю журнал того, что я набрал. Это означает, что данные общей настройки сохранены.
Вот проблема: После того, как я сохранил что-то в общих предпочтениях, я перехожу к другому действию, и я возвращаюсь, и все данные, хранящиеся в общих предпочтениях, GONE!
Самый первый журнал по-прежнему говорит mDefault
после навигации по действиям.
В чем проблема?
EDIT:
Вот мой экземпляр:
onCreate
:
keyword = PreferenceManager.getDefaultSharedPreferences(this); //Making a shared preferences
keywordEditor = keyword.edit();