【问题标题】:Checked checkbox should not be unchecked [closed]选中的复选框不应取消选中[关闭]
【发布时间】:2013-08-05 11:30:32
【问题描述】:

我有带有多项选择项的警报对话框。其中一些已经根据解析检查了值。我希望那些已经检查过的值不应该被取消检查。如果任何人有任何想法,请帮助我。

【问题讨论】:

  • 在你的 中添加这个
  • 发布你的代码。如果你还没有得到输出。

标签: android checkbox checkboxlist android-checkbox


【解决方案1】:

使它们禁用已检查的内容

【讨论】:

  • 实际上检查的值来自服务器,即使我不知道检查的值。那么我怎样才能让它们禁用呢?我正在动态获取值。
  • 假设您有 10 个复选框,其中 7 个被选中,那么您必须做 1 件事,当您设置它们时根据当时的服务器值进行检查,使它们也被禁用。
  • 如果您有多项选择,请勾选此项:stackoverflow.com/questions/2183610/…
【解决方案2】:

你的问题不太清楚,但这样的事情可能会奏效:

yourCheckboxID.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    @Override
    public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {  
        if (isChecked){
        yourCheckboxID.setEnabled(false);
        }
    }
});

或者您可能需要:

if(yourCheckboxID.isChecked()){
   yourCheckboxID.setEnabled(false);
}

让我知道这是否是你所追求的!

【讨论】:

  • 实际上它不是复选框,而是它的带有 multichoiceItems 的 AlertDialog。抱歉,我在问题中提到了错误,现在我对其进行了编辑。
  • 好吧,使用 OnMultiChoiceClickListener(),见 [link]stackoverflow.com/questions/3608018/…
【解决方案3】:

选中/取消选中复选框时,您可以在名为 OnCheckedChangedListener 的事件中进行处理

例如:

CheckBox cb;
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    //In case that the new isChecked is false, you let it true again
    if(!isChecked)
        buttonView.setChecked(true);
    }
});

【讨论】:

  • 实际上它不是复选框,而是它的带有 multichoiceItems 的 AlertDialog。抱歉,我在问题中提到了错误,现在我对其进行了编辑。
猜你喜欢
  • 1970-01-01
  • 2020-06-28
  • 2018-09-01
  • 1970-01-01
  • 2014-06-25
  • 2021-02-12
  • 1970-01-01
  • 2014-05-28
  • 1970-01-01
相关资源
最近更新 更多