На данный вопрос уже ответили:
У меня есть переменная календаря и число 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. тут об этом написано
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники