我正在学习来自.NET C#的用于Android开发的Kotlin。我有一个关于Kotlin语法的问题,例如:
val nameObserver = Observer<String> { newName ->
nameTextView.text = newName
}这段代码取自Android LiveData文档。我认为观察者是一个新对象,没有new关键字,因为它在Kotlin中不存在。我的问题是lambda部分。这是在对象中初始化的属性吗?我如何知道哪个属性是初始化的而不命名它们,它们是按顺序排列的吗?在这个上下文中,newName应该是什么,是nameObserver值还是其他值?
发布于 2021-06-03 18:12:06
这是SAM conversion.的语法,之所以可以这样做是因为观察者java接口只声明了一个方法。
您可以使用Kotlin 1.4+中的this syntax对Kotlin接口执行此操作
https://stackoverflow.com/questions/67819170
复制相似问题