делаю retrofit запрос и присваиваю значение к переменной, к который ссылаюсь в последующем, но оно всегда кидает NullPointerException. Подозреваю что это из за того что корутин асинхронный и значение не бывает присвоено во время вызова. Теперь, как можно это решить?
Убери !! из кода. Это плохая штука
Он ругается именно на строку val chartData = viewModel.periodData.value!!
залогируй момент когда кладешь в ливдату данные и когда берешь
Ну у меня nullable, но оно на этом моменте присвоен (или должно быть присвоен 😅)
Вопрос, зачем ты вносишь изменения в viewModel в главном потоке, когда можно сделать post?
Не правильно работаешь с лайдатой
Я и через пост делал, но все равно ругался что запрос в главном потке
Приложение крашется быстрее чем оно успевает присвоить значение 😅
Я же сказал решение....
Через observer?
Ну ок, но это немного не то чего я хотел бы, лучше так сказать "сделать запрос синхронным"
Странный подход, зачем тогда лайдата?
Не знаю, у меня просто привычка, все переменные в viewmodel делать через лайвдата
Сюда такое не пиши лучше
А где кидает нуллпойнтер
https://t.me/android_ru/1041326
Ну так ты читаешь, когда туда еще не че не записал наверное
И в чем вопрос? Ты присваиваешь ему null значение
чел пингует сервак и не дожидаясь ответа берет данные из ливдаты
Обсуждают сегодня