private fun changeState() {
Handler().postDelayed({
myName.name = "Henok"
binding.invalidateAll();
}, 2000);
}
postDelayed(runnable,time),它同时接受runnable和time,但是这里我们将文字对象传递给runnable参数。那么,您能否以kotlin语法解释如何创建可运行对象?
答案 0 :(得分:1)
如果我正确理解了您的问题,kotlin会在内部为您处理这些对象的创建,而只是要求您在内部定义如何处理创建的run
方法的逻辑。 Kotlin并不总是要求您重写对象/接口来实现回调
fun example(callback:() -> Unit){
}
然后您将调用此函数并将其用作:
example {
//do some stuff here, as this is the callback method
}
答案 1 :(得分:1)
您没有传递“文字对象”,这就是lambdas用Kotlin编写的方式。而且您可以在此处使用lambda,因为Runnable
是Java interface with a single abstract method。