我在ToggleButton
中设置了4个OnCheckedChangeListener()
。
ToggleButton
1在启动时被激活,并且设置了侦听器,以便当您在检查器中按下另一个ToggleButton
时,它会取消激活第一个按钮,然后激活您单击的按钮。
然而,当我点击已经激活的ToggleButton
时,它会自行停用,这不是我想要的。
我想知道,有没有办法做到这一点,以便只能通过使用检查器按其中一个ToggleButton
来停用已激活的ToggleButton
?
这就是我所拥有但它似乎无法发挥作用。
OnCheckedChangeListener toggleChangeChecker = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked){
if (buttonView == one) {
one.setChecked(true);
two.setChecked(false);
three.setChecked(false);
four.setChecked(false);
}
if (buttonView == two) {
one.setChecked(false);
two.setChecked(true);
three.setChecked(false);
four.setChecked(false);
}
if (buttonView == three) {
one.setChecked(false);
two.setChecked(false);
three.setChecked(true);
four.setChecked(false);
}
if (buttonView == four) {
one.setChecked(false);
two.setChecked(false);
three.setChecked(false);
four.setChecked(true);
}
}
}
};
答案 0 :(得分:1)
您可以在OnCheckedChangeListener中使用if(yourButton.isChecked()) yourButton.setChecked(true);
,猜猜可以解决这个问题。
答案 1 :(得分:0)
if(isChecked) { button.setEnabled(false); }
else { button.setEnabled(true); }