2017-01-03 2 views
0

Hallo an alle und ein gutes neues Jahr.RadioButton gibt false nach dem ersten Lauf zurück

Ich habe ein Problem. Nach der Zeit, die ein radiobutton.isChecked() wahr ist, wird immer false zurückgegeben. Beispiel:

if (rb.isChecked()) //do something 

Diese if-Anweisung wird nur einmal ausgeführt. Wie kann ich es reparieren? Ich habe auch das isSelected() versucht, aber es hat nicht funktioniert.

Jede Hilfe wird geschätzt! :)

+0

Ist der 'RadioButton' in einer 'RadioGroup' platziert? – yogur

+0

Sie möchten den Code unterhalb Ihrer if-Anweisung jedes Mal ausführen, wenn das Optionsfeld ausgewählt wurde, oder was? –

+1

sollten Sie den Code sowohl Java und XML-Seite hinzufügen –

Antwort

1

Ich hatte das gleiche Problem. Ich umgangen es auf diese Weise:

public class MainActivity extends AppCompatActivity 
{ 
private boolean check=false; 
... 
... 
... 
public void checked(View arg0) 
{ 
    if(!check) 
    check=true; 
    else 
    check=false; 
} 
... 
... 
... 
} 

Dann im Layout in der Radiobutton haben Sie

android:onClick="checked" 

Auf diese Weise setzen Sie immer wissen, ob die Radiobutton cheked ist oder nicht. Ich habe einfach eine Instanzvariable ausgenutzt, um den Zustand des Radiobuttons zu steuern.

+1

Ich werde das später versuchen und ich werde dir antworten, wenn es funktioniert. Vielen Dank für Ihre Antwort. –

+0

@Panos Gr Wenn es nicht funktioniert, sag mir, was das Problem ist, so können wir es lösen;) – Curio

+0

@Panos Gr oh entschuldigung! Ich habe vergessen, die Parameter in überprüfte Methode zu setzen! Sehen Sie sich die Antwort an, ich aktualisierte sie – Curio

Verwandte Themen