Как убедиться, что корутина сработала и завершилась?
Есть кусок кода:
private fun onItemClick(position: Int) {
if (tasksList[position].crossed) {
tasksViewModel.updateTask(
TasksModel(tasksList[position].id, tasksList[position].text, false)
)
} else {
tasksViewModel.updateTask(
TasksModel(tasksList[position].id, tasksList[position].text, true)
)
}
tasksViewModel.getAllTasks()
}
Он меняет событие в зависимости от того, зачёркнуто оно или нет. В конце я вызываю метод getAllTasks(), который подгружает все данные в RecyclerView чтобы обновить изменения в записи. Если запускать программу через Debuger, всё работает. Однако если запускать программу в обычном режиме то запись изменяется с 3-4 раза, хотя событие точно срабатывает (Проверял по тостам). Как понять почему не работает обновление RecyclerView?
fun getAllTasks(){
viewModelScope.launch(Dispatchers.IO) {
readAllData.postValue(repository.getAllTasks())
}
}