具有Android视图的Kotlin调用功能

时间:2018-11-11 20:43:16

标签: android function kotlin

我们正试图了解在Kotlin中调用函数的方法

函数看起来像这样

    fun onSIMPLE(view: View){
    val snack = Snackbar.make(view,"This is a simple Snackbar", Snackbar.LENGTH_LONG)
    snack.show()
}

呼叫是这样的

btnSB2.setOnClickListener {onSIMPLE(it)}

我们不了解的是,人们怎么知道使用关键字“ it”
创建关键字“ it”的人必须从未搜索过网络

我们在()中插入了所有合理的关键字以解决该问题
是的,我们还查看了文档
有没有更好的方法来构造函数或进行调用?

2 个答案:

答案 0 :(得分:2)

it是单个参数lambda的隐式名称。您可以根据需要覆盖,例如:

btnSB2.setOnClickListener { view -> onSIMPLE(view)}

答案 1 :(得分:1)

setOnClickListener希望使用lambda作为参数,使用类似Java的方法,它应如下所示:

btnSB2.setOnClickListener({
    v:View -> onSIMPLE(it)
})

此外,如果lambda是给定函数的最后一个参数,则可以在括号之外指定该参数,如下所示:

btnSB2.setOnClickListener {
    v:View -> onSIMPLE(it)
}

lambda函数通常具有单个参数。对于这些功能,Kotlin维护it关键字。知道了这一点,代码就会变成:

btnSB2.setOnClickListener {
    onSIMPLE(it)
}