Android 顺序逻辑复选框

Android 顺序逻辑复选框,android,android-checkbox,Android,Android Checkbox,我有6个复选框,只有第一个是可点击的。。选中第一个后,再允许第二个。。选中第二个选项后,允许第三个选项。。选中的复选框也需要禁用,以避免用户取消选中 我想我需要使用数组?我搞不懂逻辑是怎么回事 if(checkbox1.isChecked()){ checkbox1.setEnabled(false); }else if(checkbox2.isChecked()){ checkbox2.setEnabled(false);

我有6个复选框,只有第一个是可点击的。。选中第一个后,再允许第二个。。选中第二个选项后,允许第三个选项。。选中的复选框也需要禁用,以避免用户取消选中

我想我需要使用数组?我搞不懂逻辑是怎么回事

if(checkbox1.isChecked()){
            checkbox1.setEnabled(false);
        }else if(checkbox2.isChecked()){
            checkbox2.setEnabled(false);
        }

这不起作用。

您可以为复选框设置侦听器,并在单击上一个复选框时启用下一个侦听器

例如:

CheckBox cb1 = (CheckBox) findViewById(R.id.checkbox1);
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener(){

    @Override
    public void onCheckedChanged(CompoundButton buttonView,
            boolean isChecked) {
        if (isChecked){
            cb1.setEnabled(false);
            cb2.setEnabled(true);
        }
    }         
});

当用户选中复选框为标志变量赋值时,尝试使用标志变量。我需要为所有这些cb设置吗?我实现了onCheckedChangeListener,这就是它不工作的原因吗?是的,您将为每个复选框设置一个侦听器。除最后一个外,每个都将自身设置为禁用,下一个设置为启用。最后一个会将自身设置为禁用,因为没有下一个。不管您是否实现它,如果您使用上面的代码,它都应该工作。如果已经为方框设置了checkedChangeListeners,只需将上述代码添加到现有侦听器中即可。