Я пытаюсь очистить список, для которого мне нужно очистить SharedPreference. Но при этом я получаю исключение nullpointer. Вот мой код. -SharedPreference clear() throwing nullpointerexception
MainActivity.savedLogName.edit().clear().commit();
MainActivity.savedLogNumber.edit().clear().commit();
MainActivity.savedLogTime.edit().clear().commit();
Я также пробовал использовать remove(), но та же ошибка сохраняется. Вот код, с помощью удаления()
MainActivity.savedLogName.edit().remove("logName").commit();
MainActivity.savedLogNumber.edit().remove("logNumber").commit();
MainActivity.savedLogTime.edit().remove("logTime").commit();
Примечание - savedlogName, savedLogNumber и savedLogTime статические переменные, объявленные в MainActivity. Я называю их из другого класса деятельности.
От MainActivity -
savedLogName = PreferenceManager.getDefaultSharedPreferences(this);
savedLogNumber = PreferenceManager.getDefaultSharedPreferences(this);
savedLogTime = PreferenceManager.getDefaultSharedPreferences(this);
logName = new ArrayList(Arrays.asList(TextUtils.split(savedLogName.getString("logName", null), ",")));
logNumber = new ArrayList(Arrays.asList(TextUtils.split(savedLogNumber.getString("logNumber", null), ",")));
logTime = new ArrayList(Arrays.asList(TextUtils.split(savedLogTime.getString("logTime", null), ",")));
Я хочу LogName, logNumber и logTime быть intialized нулевое значение, если sharedPreference пуст. Этого не происходит. Он просто инициализирует старые значения, как никогда не очищался.
Добавьте код, где вы иницизировать статику savedLogName, Number и т.д. – Simas
@ user3249477 сделано. Отредактировано описание. – Slay