Как и в anko, вы можете написать функции обратного вызова следующим образом:
alert {
title = ""
message = ""
yesButton {
toast("Yes")
}
noButton {
toast("No")
}
}
Как создать такие вложенные функции? Я попытался создать его, как показано ниже, но, похоже, не работает.
class Test {
fun f1(function: () -> Unit) {}
fun f2(function: () -> Unit) {}
}
Теперь, если я использую это с функцией расширения,
fun Context.temp(function: Test.() -> Unit) {
function.onSuccess() // doesn't work
}
Вызов этого из действия:
temp {
onSuccess {
toast("Hello")
}
}
Не работает. Мне все еще не хватает базовых концепций. Может ли кто-нибудь руководствоваться здесь?