チェック状態を変更するがいくつかMaterialButton
あります (トグル グループのシナリオで)。
MaterialButton
私の計画は、 sを介して Checked ステータスをリッスンすることですaddOnCheckedChangeListener
しかし、いくつかの条件が発生したときにリスナーを削除する必要があります。ラムダからリスナー(オブジェクト)を取得するにはどうすればよいですか(そしてそれをonCheckedChangeListener
値に入れます)?
var onCheckedChangeListener: MaterialButton.OnCheckedChangeListener?=null
...
myMaterialButton?.addOnCheckedChangeListener { button, isChecked ->
Log.i(TAG, "onViewCreated: button = $button, isChecked = $isChecked")
if(button.isChecked)
{
//Use some variables which are reachable here
//Do som work
}
else
{
//Use some variables which are reachable here
//Do some other work
}
}
...
//Some condition prior to this causes me to remove the listener by using
//removeOnCheckedChangeListener, but how do I get the onCheckedChangeListener from my
//lambda above which I need to remove ?
myMaterialButton?.removeOnCheckedChangeListener(onCheckedChangeListener)
解決策は確かに簡単ですが、明確な答えは見つかりません。