如何在Android中使用Kotlin正确设置按钮的OnClickListener?
大家好!我刚开始学习用于Android开发的Kotlin,在给普通按钮设置点击处理程序时遇到了问题。以前我用Java写代码时一切都很清楚:button.setOnClickListener(new View.OnClickListener() { ... });。但在Kotlin中我看到很多不同的写法,不知道哪个是正确的。
以下是我尝试过的代码:
val myButton: Button = findViewById(R.id.my_button)
// 方式1 — 简单的lambda
myButton.setOnClickListener {
Toast.makeText(this, "点击!", Toast.LENGTH_SHORT).show()
}
// 方式2 — 显式指定View
myButton.setOnClickListener { view ->
Toast.makeText(this, "点击并带有view: ${view.id}", Toast.LENGTH_SHORT).show()
}
// 方式3 — 类似Java但使用Kotlin语法
myButton.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
Toast.makeText(this@MainActivity, "通过对象点击", Toast.LENGTH_SHORT).show()
}
})