Kotlin Android-如何实现CheckBox.OnCheckedChangeListener?

我是Kotlin新手。 我创建了一个片段,并实现了View.OnClickListenerCheckBox.OnCheckedChangeListenerView.OnClickListener按预期工作,但它显示CheckBox.OnCheckedChangeListener Unresloved引用。

代码如下

 class LoginFragment : Fragment(), View.OnClickListener, CheckBox.OnCheckedChangeListener { override fun onClick(view: View?) { } } 

我怎样才能实现CheckBox.OnCheckedChangeListener ..? 提前致谢

你可以像这样使用CheckBox.OnCheckedChangeListener:

  cbBack.setOnCheckedChangeListener { buttonView, isChecked -> Toast.makeText(this,isChecked.toString(),Toast.LENGTH_SHORT).show() } 

其中cbBack是CheckBox ID。 希望你有你的答案。

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

CheckBox.OnClickListener不是现有的接口。 CheckBoxView继承,所以为一个CheckBox指派一个侦听器,你可以使用它的setOnClickListener方法,该方法需要一个View.OnClickListener的实例。

如果你想在同一个Fragment处理这两个事件,你必须使用onClick方法的参数区分CheckBox和其他View

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

 checkbox.setOnClickListener { view -> // handle clicks here } 

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