На данный вопрос уже ответили:
У меня есть переменная календаря и число long которое соответствует дате в миллисекундах. Я пытаюсь установить в переменную календаря эту дату.
В описании переменных, до onCreate объявлено Calendar calendar_1;
затем в onCreate я достаю сохраненное число и пытаюсь установить его в дату:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
calendar_1.setTimeInMillis(prefs.getLong(pref_cal_1, 0));
Но вылетает ошибка, мол я пытаюсь применить метод .setTimeInMillis на null object
Если написать вот так:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
calendar_1 = Calendar.getInstance();
calendar_1.setTimeInMillis(prefs.getLong(pref_cal_1, 0));
то все работает. Никак не могу понять суть проблемы, разве getInstance не устанавливает текущее значение? он же не нужен тут если я хочу свою дату установить.
Но вылетает ошибка, мол я пытаюсь применить метод .setTimeInMillis на
null object
В этом и есть суть проблемы - вы не инициализировали объект calendar_1. Для этого всегда требуется вызывать метод Calendar.getInstance()
P.S. тут об этом написано
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости