Radiobuttonクリック切り替え選択解除状態
1503 ワード
Radiobuttonはラジオボタンの一種であり、RadioGroup管理下のボタンのセットであるため、そのうちの1つのbuttonが選択されてからクリックするとキャンセルできなくなり、Radiobuttonのsetchecked(boolean isChecked)を呼び出す方法をキャンセルしようとする.
しかし、現在のradiobuttonを連続的にクリックすると、一度だけ選択と選択をキャンセルすることができ、もう一度クリックすることはできません.現在のradiobuttonをクリックをキャンセルすると、radiogroupのchecklistenerイベントが応答したので、現在のbuttonをクリックすると、groupのcheckイベントがcheckedされ、これ以上クリックできないので、同じradiobuttonをクリックすると、キャンセルをクリックするとgroupのclearcheck()メソッドが呼び出され、radiobuttonを連続的にクリックすることができます.以下はradiobuttonのクリック状態を簡単に切り替える切り替えコード(kotlin表記、通常のandroidで変換すればよい):
このうちisCheckedはグローバル変数であり,初期値はfalse,mRadioButtonもグローバル変数であり,簡単な書き方である.
しかし、現在のradiobuttonを連続的にクリックすると、一度だけ選択と選択をキャンセルすることができ、もう一度クリックすることはできません.現在のradiobuttonをクリックをキャンセルすると、radiogroupのchecklistenerイベントが応答したので、現在のbuttonをクリックすると、groupのcheckイベントがcheckedされ、これ以上クリックできないので、同じradiobuttonをクリックすると、キャンセルをクリックするとgroupのclearcheck()メソッドが呼び出され、radiobuttonを連続的にクリックすることができます.以下はradiobuttonのクリック状態を簡単に切り替える切り替えコード(kotlin表記、通常のandroidで変換すればよい):
radioButton.setOnClickListener {
// radioButton, radioButton false
if(mRadioButton != radioButton && mRadioButton.text.isNotEmpty()){
isChecked = false
}
checkedList.clear()// ,
radioButton.isChecked = !isChecked// button
if (radioButton.isChecked) {//
checkedList.add(radioButton.text.toString())
}else{//
if(mRadioButton == radioButton){// radiobButton radioGroup check ,
group.clearCheck()// radioGroup check
}
}
isChecked = radioButton.isChecked// isChecked radioButton
mRadioButton = radioButton// mRadioButton radioButton
}
このうちisCheckedはグローバル変数であり,初期値はfalse,mRadioButtonもグローバル変数であり,簡単な書き方である.