“val XXX=Class{…”在Kotlin中是什么意思?

“val XXX=Class{…”在Kotlin中是什么意思?,kotlin,lambda,anonymous-function,Kotlin,Lambda,Anonymous Function,在Kotlin中,这个语法是什么意思 class HomeActivity : AppCompatActivity() { val examplesAdapter = HomeOptionsAdapter { val fragment = it.createView() ... } 我只是想匿名函数或Lambdas…我可以检查一下这个构造函数中的homeoptionAdapter class HomeOptionsAdapter(val on

在Kotlin中,这个语法是什么意思

class HomeActivity : AppCompatActivity() {
    val examplesAdapter =  HomeOptionsAdapter {
        val fragment = it.createView()
        ...
    }

我只是想匿名函数或Lambdas…

我可以检查一下这个构造函数中的homeoptionAdapter

class HomeOptionsAdapter(val onClick: (ExampleItem) -> Unit) 
因此,它采用onClick listener,该函数以ExampleItem作为输入并返回单位。这是Kotlin语言的一项功能,如果lambda是最后一个参数,则可以将其放在函数外部。这是等效的:

val examplesAdapter =  HomeOptionsAdapter({
    val fragment = it.createView()
    ...
})

val examplesAdapter =  HomeOptionsAdapter {
    val fragment = it.createView()
    ...
}
我检查了你将在构造函数中看到的homeoptionAdapter

class HomeOptionsAdapter(val onClick: (ExampleItem) -> Unit) 
因此,它采用onClick listener,该函数以ExampleItem作为输入并返回单位。这是Kotlin语言的一项功能,如果lambda是最后一个参数,则可以将其放在函数外部。这是等效的:

val examplesAdapter =  HomeOptionsAdapter({
    val fragment = it.createView()
    ...
})

val examplesAdapter =  HomeOptionsAdapter {
    val fragment = it.createView()
    ...
}

它应该是onclick lambda看看定义。谢谢你的评论。这意味着这个{val fragment=It.createView…}部分是homeooptionAdapter的构造函数?但是,它不是由包装的。有什么缩写吗?它应该是onclick lambda看看定义。谢谢你的评论。这意味着{val fragment=it.createView…}部分是homeooptionAdapter的构造函数?但是,它没有包装。有缩写吗?换句话说,它是一个。我不知道它们可以用于构造函数。换句话说,它是一个。我不知道它们可以用于构造函数。