【问题标题】:Using <RadioGroup> to set all <RadioButton> checked false使用 <RadioGroup> 设置所有 <RadioButton> 选中为 false
【发布时间】:2018-11-01 18:23:57
【问题描述】:

我想知道是否可以使用 RadioGroup 将所有 RadioButtons 设置为指定值。就我而言,我有这个:

public void displayFalse(View view) {

    if(view.getId() == R.id.btnPrimers)

        for (int i = 0; i < rgPrimer.getChildCount(); i++) {
            rgSegon.getChildAt(i).setEnabled(false);
            //something like: .setChecked(false);

    }else if(view.getId() == R.id.btnSegons){

        for (int i = 0; i < rgSegon.getChildCount(); i++) {
            rgSegon.getChildAt(i).setEnabled(false);
        }
    }else if(view.getId() == R.id.btnSegons) {

        for (int i = 0; i < rgPostre.getChildCount(); i++) {
            rgPostre.getChildAt(i).setEnabled(false);
        }
    } else {

    }

}

所以我有不同的&lt;LinearLayout&gt;,每个都可以通过一个按钮看到。所以如果按钮被选中,布局就会出现,里面的所有radioGroup也会出现。所以在这里我检查选择的按钮,然后进入该布局中的 radioGroup 并将它们设置为 false。

我也试过了:

public void displayFalse(View view) {

    if(view.getId() == R.id.btnPrimers){

        rbPrimer1.setChecked(false);
        rbPrimer2.setChecked(false);
        rbPrimer3.setChecked(false);
        rbPrimer4.setChecked(false);

    }else if(view.getId() == R.id.btnSegons){

        rbSegon1.setChecked(false);
        rbSegon2.setChecked(false);
        rbSegon3.setChecked(false);
        rbSegon4.setChecked(false);

    }else if(view.getId() == R.id.btnSegons) {

        rbPostre1.setChecked(false);
        rbPostre2.setChecked(false);
        rbPostre3.setChecked(false);
        rbPostre4.setChecked(false);

    } else {

    }

但它也不起作用。我该如何解决这个问题?是否有改进的版本?

【问题讨论】:

  • 尝试使用 radiogroup.clearcheck(); see this

标签: android


【解决方案1】:

RadioGroup 有一个方法:

clearCheck()

它完全符合您的要求:

public void displayFalse(View view) {

    if (view.getId() == R.id.btnPrimers)
        rgSegon.clearCheck(); //is this the right RadioGroup?
    } else if (view.getId() == R.id.btnSegons) {
        rgSegon.clearCheck();
    } else if (view.getId() == R.id.btnSegons) { //is this the right ID?
        rgPostre.clearCheck();
    }

}

【讨论】:

  • 哇,很高兴知道。 :D 谢谢
【解决方案2】:

试试这个:

RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radiogroup);radioGroup.clearCheck();

【讨论】:

    猜你喜欢
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 2014-04-04
    相关资源
    最近更新 更多