【问题标题】:How to check if "Radiobutton" is checked?如何检查“单选按钮”是否被选中?
【发布时间】:2012-06-18 11:43:05
【问题描述】:

我想创建一个带有条件(if-else)RadioButton的结构

我希望当单选按钮RB1被选中时,这个功能是激活的:

regAuxiliar = ultimoRegistro;

并且当单选按钮RB2被选中时,这个功能是激活的:

regAuxiliar = objRegistro;

对不起我的英语,我是巴西人。

【问题讨论】:

标签: java android radio-button selected checked


【解决方案1】:

就像使用 CheckBox 一样

RadioButton rb;

rb = (RadioButton) findViewById(R.id.rb);

rb.isChecked();

【讨论】:

    【解决方案2】:
            if(jRadioButton1.isSelected()){
                jTextField1.setText("Welcome");
            }
            else if(jRadioButton2.isSelected()){
                jTextField1.setText("Hello");
            }
    

    【讨论】:

      【解决方案3】:

      还可以根据监听器维护一个标志值,

       radioButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
      
                  public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
      
                      //handle the boolean flag here. 
                        if(arg1==true)
                               //Do something
      
                      else 
                          //do something else
      
                  }
              });
      

      或者只是isChecked() 也可以用于检查您的 RadioButton 的状态。

      这是一个示例的链接,

      http://www.mkyong.com/android/android-radio-buttons-example/

      然后根据标志你可以执行你的功能。

      【讨论】:

        【解决方案4】:

        radiobuttonObj.isChecked() 会给你布尔值

        if(radiobuttonObj1.isChecked()){
        //do what you want 
        }else if(radiobuttonObj2.isChecked()){
        //do what you want 
        }
        

        【讨论】:

          【解决方案5】:

          如果您需要进行 espresso 测试,解决方案如下:

          onView(withId(id)).check(matches(isChecked()));
          

          再见,

          【讨论】:

            【解决方案6】:

            radioButton.isChecked() 函数如果选择了 Radion 按钮则返回 true,否则返回 false。

            Source

            【讨论】:

              【解决方案7】:

              你可以像这样使用开关:

              XML 布局

              <RadioGroup
                          android:id="@+id/RG"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content">
              
                          <RadioButton
                              android:id="@+id/R1"
                              android:layout_width="wrap_contnet"
                              android:layout_height="wrap_content"
                              android:text="R1" />
              
                          <RadioButton
                              android:id="@+id/R2"
                              android:layout_width="wrap_contnet"
                              android:layout_height="wrap_content"
                              android:text="R2" />
              </RadioGroup>
              

              还有 JAVA 活动

              switch (RG.getCheckedRadioButtonId()) {
                      case R.id.R1:
                          regAuxiliar = ultimoRegistro;
                      case R.id.R2:
                          regAuxiliar = objRegistro;
                      default:
                          regAuxiliar = null; // none selected
                  }
              

              您还需要使用按钮或 setOnCheckedChangeListener 函数实现 onClick 函数以获取所需的功能。

              【讨论】:

                【解决方案8】:

                简单的解决方案

                radioSection.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                          @Override
                          public void onCheckedChanged(RadioGroup group1, int checkedId1) {
                              switch (checkedId1) {
                                  case R.id.rbSr://radiobuttonID
                                      //do what you want
                                      break;
                                  case R.id.rbJr://radiobuttonID
                                      //do what you want
                                      break;
                              }
                          }
                      });
                

                【讨论】:

                  【解决方案9】:

                  检查它们是否使用el.checked 属性进行检查。

                  Docs 或这个Question

                  let radio1 = document.querySelector('.radio1');
                  let radio2 = document.querySelector('.radio2');
                  let output = document.querySelector('.output');
                  
                  function update() {
                    if (radio1.checked) {
                      output.innerHTML = "radio1";
                    }
                    else {
                      output.innerHTML = "radio2";
                    }
                  }
                  
                  update();
                  <div class="radios">
                    <input class="radio1" type="radio" name="radios" onchange="update()" checked>
                    <input class="radio2" type="radio" name="radios" onchange="update()">
                  </div>
                  <div class="output"></div>

                  【讨论】:

                    【解决方案10】:

                    这对我有用:

                       Espresso.onView(ViewMatchers.withId(R.id.radiobutton)).check(ViewAssertions.matches(isChecked()))
                    

                    【讨论】:

                      猜你喜欢
                      • 2016-01-11
                      • 2020-12-04
                      • 2014-02-06
                      • 2014-04-23
                      • 2015-08-24
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多