如何通过单击停止切换按钮

时间:2014-07-27 16:28:36

标签: android android-togglebutton

我在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);
                }

            }
        }
    };

2 个答案:

答案 0 :(得分:1)

您可以在OnCheckedChangeListener中使用if(yourButton.isChecked()) yourButton.setChecked(true);,猜猜可以解决这个问题。

答案 1 :(得分:0)

if(isChecked) { button.setEnabled(false); }
else { button.setEnabled(true); }