Что с календарем? [дубликат]

178
07 июня 2018, 05:20

На данный вопрос уже ответили:

  • Что такое Null Pointer Exception и как его исправить? 3 ответа

У меня есть переменная календаря и число 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 не устанавливает текущее значение? он же не нужен тут если я хочу свою дату установить.

Answer 1

Но вылетает ошибка, мол я пытаюсь применить метод .setTimeInMillis на null object

В этом и есть суть проблемы - вы не инициализировали объект calendar_1. Для этого всегда требуется вызывать метод Calendar.getInstance()

P.S. тут об этом написано

READ ALSO
как перевести данные из input в google

как перевести данные из input в google

есть <input type="search"> и <input type="button>При нажатии на button

264
Странное поведение background-position

Странное поведение background-position

Хотел сделать простенькую анимацию при наведении на блокДумал сделать все через движение фона и не лезть никуда дальше

274
Как достать статус пользователя/группы VK?

Как достать статус пользователя/группы VK?

Как сделать это с Api vk - понятно, но я пытаюсь сделать без авторизации

248
Не удается правильно настроить bootstrap popover

Не удается правильно настроить bootstrap popover

Мне нужен popover с таблицей(с радиобатонами) и полем которое будет фильтровать строки таблицы по вхождениям символовВсе работает прекрасно,...

399