如何检查“单选按钮”是不是被选中?
Posted
技术标签:
【中文标题】如何检查“单选按钮”是不是被选中?【英文标题】:How to check if "Radiobutton" is checked?如何检查“单选按钮”是否被选中? 【发布时间】:2012-06-18 11:43:05 【问题描述】:我想创建一个带有条件(if-else)RadioButton
的结构
我希望当单选按钮RB1被选中时,这个功能是激活的:
regAuxiliar = ultimoRegistro;
并且当单选按钮RB2被选中时,这个功能是激活的:
regAuxiliar = objRegistro;
对不起我的英语,我是巴西人。
【问题讨论】:
请参考单选按钮小部件的API文档(developer.android.com/reference/android/widget/RadioButton.html) 【参考方案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_
android:layout_>
<RadioButton
android:id="@+id/R1"
android:layout_
android:layout_
android:text="R1" />
<RadioButton
android:id="@+id/R2"
android:layout_
android:layout_
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()))
【讨论】:
以上是关于如何检查“单选按钮”是不是被选中?的主要内容,如果未能解决你的问题,请参考以下文章