2012-06-15 10 views
5

würde Ich mag eine Struktur mit der Bedingung machen (if-else) RadioButtonWie überprüft man, ob "Radiobutton" aktiviert ist?

Ich möchte, dass, wenn die Radiobutton RB1 ausgewählt ist, wird diese Funktion aktiv ist:

regAuxiliar = ultimoRegistro; 

Und wenn der Radiobutton RB2 ausgewählt ist, ist diese Funktion aktiv:

regAuxiliar = objRegistro; 

Und sorry für mein Englisch, ich bin Brasilianer.

+2

Bitte beachten Sie die API-Dokumentation von Radiobutton-Widget (http://developer.android.com/reference /android/widget/RadioButton.html) – Saurabh

Antwort

0

radiobuttonObj.isChecked() geben Ihnen boolean

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

Funktioniert nicht einmal. – IMustBeSomeone

1

radioButton.isChecked() Funktion true zurück, wenn die Radion-Taste gewählt wird, andernfalls false.

Source

19

Genau wie bei einem CheckBox

RadioButton rb; 

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

rb.isChecked(); 
+0

Keine Notwendigkeit für Casting – IMustBeSomeone

6

Sie können auch ein Flag-Wert halten, basierend auf Zuhörer,

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 

      } 
     }); 

Oder einfach isChecked() können auch verwendet werden, um zu überprüfen der Zustand deines RadioButtons.

Hier ist ein Link zu einer Probe,

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

Und dann basiert auf der Flagge Sie Ihre Funktion ausführen können.

+0

Keine Notwendigkeit für die Komplikation, aber mit Ihrer Methode könnte nützlich sein, wenn ich etwas komplexes tun. – IMustBeSomeone

11
 if(jRadioButton1.isSelected()){ 
      jTextField1.setText("Welcome"); 
     } 
     else if(jRadioButton2.isSelected()){ 
      jTextField1.setText("Hello"); 
     } 
0

Sie können Schalter wie folgt verwenden:

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> 

und Java-Aktivität

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

Sie werden auch eine onClick Funktion mit der Taste oder setOnCheckedChangeListener implementieren müssen Funktion, um die erforderliche Funktionalität zu erhalten.

1

Wenn Sie Espresso benötigen, ist die Lösungen testen wie folgt aus:

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

Bye,