为什么在与一个复选框相关联的操作之后,两个复选框都被禁用?

Why after action associated with one checkbox both checkboxes are are disabled?

大家好!我想实现以下应用:

  1. 点击复选框
  2. 移至新操作
  3. 完成新动作
  4. Return 到复选框操作
  5. 选中并禁用已单击的复选框

在我的代码中,当我尝试实现它时,第二个复选框也被选中并禁用,尽管我没有点击它。

请帮忙!请参阅下面的代码:

     public void CheckboxCare(@NonNull View v){
    switch (v.getId()){
        case R.id.checkbox_p2106:
            if(pref.contains("checked") && pref.getBoolean("checked", false) == true){
                setChecked(P2106);
                disableCheckbox(P2106);
            }else{
                setNotChecked(P2106);
            }
            checkboxListener(P2106);
            break;
        case R.id.checkbox_mp2106:
            if(pref.contains("checked") && pref.getBoolean("checked", false) == true){
                setChecked(MP2106);
                disableCheckbox(MP2106);
            }else{
                setNotChecked(MP2106);
            }
            checkboxListener(MP2106);
            break;
    }
}

根据您的要求为该函数调用上发送的每个复选框创建对象

public void CheckboxCare(@NonNull View v){
switch (v.getId()){
    case R.id.checkbox_p2106:
                     {
                     // write code here
                     }
    case R.id.checkbox_mp2106:
        if(pref.contains("checked") && pref.getBoolean("checked", false) == true){
            setChecked(checkbox_p2106);// enable one
            disableCheckbox(checkbox_p2106);// disable second
        }else{
            setNotChecked((CheckBox) v);
        }
        checkboxListener((CheckBox) v);
        break;
}
}