Como configurar corretamente um OnClickListener em um botão no Android com Kotlin?
Olá a todos! Comecei a estudar Kotlin para desenvolvimento Android recentemente e estou com um problema ao configurar um click handler em um botão comum. Antes eu programava em Java, e lá era tudo claro: button.setOnClickListener(new View.OnClickListener() { ... });. Mas em Kotlin vejo muitas opções diferentes e não entendo qual é a correta.
Aqui está o que tentei:
val myButton: Button = findViewById(R.id.my_button)
// Opção 1 — apenas lambda
myButton.setOnClickListener {
Toast.makeText(this, "Clique!", Toast.LENGTH_SHORT).show()
}
// Opção 2 — com View explícito
myButton.setOnClickListener { view ->
Toast.makeText(this, "Clique com view: ${view.id}", Toast.LENGTH_SHORT).show()
}
// Opção 3 — como em Java, mas com sintaxe Kotlin
myButton.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
Toast.makeText(this@MainActivity, "Clique via objeto", Toast.LENGTH_SHORT).show()
}
}) No answers yet.
Faça login para deixar uma resposta