Не срабатывает функция в функции
Столкнулся с тем, что не получается запустить функцию.
fun <T : Any, L : LiveData<Result<T>>> LifecycleOwner.onSuccess(liveData: L,
body: (T?) -> Unit,
loading: (String?) -> Unit,
error: (String) -> Unit) =
liveData.observe(this, Observer {
when (it.status) {
Result.Status.LOADING -> {
loading//Нужно что бы заработала функция, как ее запустить ?
}
Result.Status.SUCCESS -> {
body//Нужно что бы заработала функция, как ее запустить ?
}
Result.Status.ERROR -> {
error//Нужно что бы заработала функция, как ее запустить ?
}
}
})
Вызываю так
accountViewModel = viewModel {
onSuccess(ads,::handleRegister,::handleLoading,::handleFailure)
}
private fun handleRegister(ads: List<Ads>?) {
showMessage("Пришло что то")
}
fun handleLoading(failure: String?) {
showMessage("Загрузка")
}
Я так понимаю что нужно вызывать. Но как ?
Вот так работает
liveData.observe(this, Observer(boby))