Je voudrais faire une structure avec la condition (si-sinon) RadioButton
Je veux que lorsque le radiobutton RB1 est sélectionné, cette fonction est active:
regAuxiliar = ultimoRegistro;
Et lorsque le radiobutton RB2 est sélectionné, cette fonction est active:
regAuxiliar = objRegistro;
Et désolé pour mon anglais, je suis brésilien.
Comme vous le feriez avec un CheckBox
RadioButton rb;
rb = (RadioButton) findViewById(R.id.rb);
rb.isChecked();
if(jRadioButton1.isSelected()){
jTextField1.setText("Welcome");
}
else if(jRadioButton2.isSelected()){
jTextField1.setText("Hello");
}
Vous pouvez également conserver une valeur d'indicateur basée sur l'écouteur,
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
}
});
Ou simplement isChecked()
peut également être utilisé pour vérifier l'état de votre RadioButton.
Voici un lien vers un échantillon,
http://www.mkyong.com/Android/android-radio-buttons-example/
Et ensuite, en fonction du drapeau, vous pouvez exécuter votre fonction.
radiobuttonObj.isChecked()
vous donnera un booléen
if(radiobuttonObj1.isChecked()){
//do what you want
}else if(radiobuttonObj2.isChecked()){
//do what you want
}
La fonction radioButton.isChecked()
renvoie vrai si le bouton radio est choisi, sinon, faux.
Si vous avez besoin d'un test expresso, la solution est la suivante:
onView(withId(id)).check(matches(isChecked()));
Au revoir,
Vous pouvez utiliser le commutateur comme ceci:
Mise en page 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>
Et activité Java
switch (RG.getCheckedRadioButtonId()) {
case R.id.R1:
regAuxiliar = ultimoRegistro;
case R.id.R2:
regAuxiliar = objRegistro;
default:
regAuxiliar = null; // none selected
}
Vous devrez également implémenter une fonction onClick avec un bouton ou une fonction setOnCheckedChangeListener pour obtenir les fonctionnalités requises.