I would like to make a structure with the condition (if-else) RadioButton
I want that when the Radiobutton RB1 is selected, this function is active:
regAuxiliar = ultimoRegistro;
And when the radiobutton RB2 is selected, this function is active:
regAuxiliar = objRegistro;
And sorry for my English, I'm Brazilian.
This question is related to
java
android
radio-button
selected
checked
You can also maintain a flag value based on listener,
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
}
});
Or simply isChecked()
can also be used to check the state of your RadioButton.
Here is a link to a sample,
http://www.mkyong.com/android/android-radio-buttons-example/
And then based on the flag you can execute your function.
This worked for me:
Espresso.onView(ViewMatchers.withId(R.id.radiobutton)).check(ViewAssertions.matches(isChecked()))
Check if they're checked with the el.checked
attribute.
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();
_x000D_
<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>
_x000D_
radioButton.isChecked()
function returns true if the Radion button is chosen, false otherwise.
If you need for espresso test the solutions is like this :
onView(withId(id)).check(matches(isChecked()));
Bye,
You can use switch like this:
XML Layout
<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>
And JAVA Activity
switch (RG.getCheckedRadioButtonId()) {
case R.id.R1:
regAuxiliar = ultimoRegistro;
case R.id.R2:
regAuxiliar = objRegistro;
default:
regAuxiliar = null; // none selected
}
You will also need to implement an onClick function with button or setOnCheckedChangeListener function to get required functionality.
radiobuttonObj.isChecked()
will give you boolean
if(radiobuttonObj1.isChecked()){
//do what you want
}else if(radiobuttonObj2.isChecked()){
//do what you want
}
Just as you would with a CheckBox
RadioButton rb;
rb = (RadioButton) findViewById(R.id.rb);
rb.isChecked();
if(jRadioButton1.isSelected()){
jTextField1.setText("Welcome");
}
else if(jRadioButton2.isSelected()){
jTextField1.setText("Hello");
}
Simple Solution
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;
}
}
});
Source: Stackoverflow.com