【问题标题】:Why after action associated with one checkbox both checkboxes are are disabled?为什么在与一个复选框关联的操作之后,两个复选框都被禁用?
【发布时间】:2022-01-26 15:14:33
【问题描述】:

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

  1. 点击复选框
  2. 进行新操作
  3. 完成新动作
  4. 返回复选框操作
  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;
    }
}

【问题讨论】:

  • 问很多问题没有错,你的问题也可能没有任何问题,但如果你要投资的话,学习和练习一些基础知识似乎会让你受益匪浅练习一些基础知识你可能会进步得更快,因为你不必每次都在这里等待答案。人们已经回答了您的大多数问题,但是您还没有将其中一个问题标记为已回答,至少奖励某人尝试作为答案,以便他们获得积分,这对他们和其他人将来会有所帮助

标签: java android checkbox android-checkbox


【解决方案1】:

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

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;
}
}

【讨论】:

  • case R.id.checkbox_p2106: 与第二种情况的代码相同,这就是我合并它们的原因
  • 然后启用,禁用案例你必须传递相应的视图..现在你正在为启用和禁用案例传递相同的视图。我编辑了代码,请检查一下
  • 我改了还是不行
  • 请查看修改后的版本
猜你喜欢
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 2018-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多