Kotlin Android-如何实现CheckBox.OnCheckedChangeListener?

Rut*_*wik 18 checkbox android kotlin

我是Kotlin的新手.我创建了一个片段并实现View.OnClickListenerCheckBox.OnCheckedChangeListener.这些 View.OnClickListener作品符合预期,但它显示了Unresloved的参考 CheckBox.OnCheckedChangeListener.

代码如下

class LoginFragment : Fragment(), View.OnClickListener, CheckBox.OnCheckedChangeListener {

    override fun onClick(view: View?) {

    }


}
Run Code Online (Sandbox Code Playgroud)

我该如何实施CheckBox.OnCheckedChangeListener..?提前致谢

Sid*_*Sid 35

使用CheckBox.OnCheckedChangeListener,如:

checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
  Toast.makeText(this,isChecked.toString(),Toast.LENGTH_SHORT).show()
}
Run Code Online (Sandbox Code Playgroud)

checkBoxCheckBox ID 在哪里


小智 11

var checkBox:CheckBox = CheckBox(context)
checkBox.setOnCheckedChangeListener { buttonView, isChecked ->  
        if (isChecked) {
                //Do Whatever you want in isChecked
        }
}
Run Code Online (Sandbox Code Playgroud)


Sha*_*T D 6

Kotlin,你可以使用CheckBox.OnCheckedChangeListener像:-

checkBox.setOnCheckedChangeListener { _, isChecked ->
   Toast.makeText(this,isChecked.toString(),Toast.LENGTH_SHORT).show()
}
Run Code Online (Sandbox Code Playgroud)


zsm*_*b13 5

CheckBox.OnClickListener不是现有的界面。CheckBox继承自View,因此要将侦听器分配给CheckBox,您可以使用其setOnClickListener方法,该方法采用 的实例View.OnClickListener

如果您想在同一个 中处理这两个事件,则Fragment必须使用方法的参数来区分一个CheckBox和另一个。 ViewonClick

或者,您可以使用 lambdas 作为Views 而不是Fragment它本身的侦听器。

checkbox.setOnClickListener { view ->
    // handle clicks here
}
Run Code Online (Sandbox Code Playgroud)

使用setOnCheckedChangeListener其他答案中提到的也是一个选项CheckBox