web-dev-qa-db-ja.com

Kotlin Android- CheckBox.OnCheckedChangeListenerの実装方法

コトリンは初めてです。フラグメントを作成し、View.OnClickListenerCheckBox.OnCheckedChangeListenerを実装しました。 View.OnClickListenerは期待どおりに動作しますが、CheckBox.OnCheckedChangeListenerのUnresloved参照を示します。

コードは以下です

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

    override fun onClick(view: View?) {

    }


}

CheckBox.OnCheckedChangeListener ..を実装するにはどうすればよいですか?前もって感謝します

14
Ruthwik

次のようにCheckBox.OnCheckedChangeListenerを使用します。

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

ここで、checkBoxはCheckBox IDです。

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

CheckBox.OnClickListenerは既存のインターフェースではありません。 CheckBoxView を継承するため、リスナーをCheckBoxに割り当てるには、その setOnClickListener メソッド、 View.OnClickListener

同じFragmentでこれらのイベントの両方を処理する場合は、CheckBoxメソッドのパラメーターを使用して、Viewと他のonClickを区別する必要があります。

または、View自体ではなく、Fragmentsのリスナーとしてラムダを使用することもできます。

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

他の回答で述べたように setOnCheckedChangeListener を使用することも、CheckBoxのオプションです。

2
zsmb13