Kotlin Android-如何实现CheckBox.OnCheckedChangeListener?
我是Kotlin新手。 我创建了一个片段,并实现了View.OnClickListener
和CheckBox.OnCheckedChangeListener
。 View.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
不是现有的接口。 CheckBox
从View
继承,所以为一个CheckBox
指派一个侦听器,你可以使用它的setOnClickListener
方法,该方法需要一个View.OnClickListener
的实例。
如果你想在同一个Fragment
处理这两个事件,你必须使用onClick
方法的参数区分CheckBox
和其他View
。
或者,您可以使用lambdas作为View
的侦听器,而不是Fragment
本身。
checkbox.setOnClickListener { view -> // handle clicks here }
在其他答案中提到的使用setOnCheckedChangeListener
也是CheckBox
一个选项。