в Dao, типа Flow. Как я могу правильно вызвать его во фрагменте?
Код в codelabs-e не рабочий, или может я что-то пропустил?
lifecycle.coroutineScope.launch {
viewModel.scheduleForStopName(stopName).collect() {
busStopAdapter.submitList(it)
}
}
Ошибки: Он у меня не видит it и возвращаемый объект по типу не подходит.
Во-первых, между ViewModel и DAO желательно иметь хотя бы прослойку в виде Repository класса. Во-вторых: viewLifecycleOwner.lifecycleScope.launch { viewModel.scheduleForStopName(stopName).collect { busStopAdapter.submitList(it) } }
К сожалению, та же ошибка. Однако, я наверное не сказал, что изначально collect требует добавить аннотацию InternalCoroutinesApi, что как я понял, не должно быть вообще. Repository присутствует.
1. Версия корутин в грэдле какая? 2. Верно, это никакой не InternalCoroutinesApi, если только вы случайно не импортировали что-то другое 3. Сделайте скриншот этого кода в студии. Если подсвечивает что-то красным, то наведите курсор и захватите в скрин это окно тоже.
Попробуйте стереть слово collect, убрать из импорта, если есть и начните писать его вручную. Когда студия покажет подсказки, то выберите точно такую, какая у меня ща первая(List<ваш тип> там только в конце будет)
Я когда collect ввел без подсказок, то он тоже фигню импортировал
Спасибо большое! Такая глупая ошибка... :(
На самом деле не глупая, это импорт в студии глупый. Меня часто он подводит такими недоимпортами.
Обсуждают сегодня