【问题标题】: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()))