169 похожих чатов

Кто нибудь может мне объяснить каким образом у меня тут

иногда при первом запуске падает null pointer если я инициализирую переменную при создании класса? (sharedprefs.getBoolean не может же вернуть null?)

16 ответов

16 просмотров

а ошибку полную можно?

Падает на alarmOn я так понимаю, проверяй его

Кирилл- Автор вопроса
Кирилл- Автор вопроса

В крашрепорте падает в методе stopAlarm но падает он на такой же проверке что и в startAlarm

Кирилл- Автор вопроса

Поэтому я и уточнил про метод getBoolean у sharedprefs

AlarmIntent null

Кирилл- Автор вопроса

Но как? Я инициализирую её при создании класса

Кирилл- Автор вопроса

При get boolean обычно дефолтное значение есть

ну хз, может тот метод вызывается из init, в котором запрашивается этот intent

AlarmOn null

Кирилл- Автор вопроса

Ты угадал, лол

ну вообще хз, оно запускает корутину и сразу отпускает этот init, так что проверь

да вот кто знает, тут рандом. глобал скоуп может работать на нескольких потоках и прочее, может странно происходить инициализация из-за порядка

Кирилл- Автор вопроса

Я уверен что там проблема в порядке, то что инит с вызовом выше чем инит объекта

это понятно, но илья говорил, что по идее оно запускает корутину, которая должна начать выполнение после инита. это логично, но не всегда.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта