Ich habe eine App, die Optionsfelder verwendet. Die Standardeinstellung für diese Schaltfläche ist in der Datei main.xml festgelegt, dh:
Android:id="@+id/rb_sat1E"
Android:checked="true"
In der Java-Datei habe ich:
final RadioButton radio1 = (RadioButton)findViewById(R.id.rb_sat1E);
Ich habe auch eine 'Reset'-Schaltfläche in der Java-Hauptdatei erstellt und kann den folgenden Code verwenden, um TextView-Informationen zurückzusetzen.
pos1_deg.setText("0.0");
Aber wie setze ich ein Optionsfeld zurück? Ich hätte gedacht, dass es so etwas ist
radio1.setBoolean("TRUE");
Das funktioniert aber überhaupt nicht.
Jede Hilfe sehr geschätzt. Vielen Dank.
Für RadioButton verwenden
radio1.setChecked(true);
Es macht keinen Sinn, nur einen RadioButton zu haben. Wenn Sie mehr davon haben, müssen Sie andere Personen durchchecken
radio2.setChecked(false); ...
Wenn Ihre Einstellung nur ein/aus ist, verwenden Sie CheckBox.
Wenn Sie dies im Code tun möchten, können Sie das Kontrollmitglied von RadioGroup anrufen:
radioGroup.check(R.id.radioButtonId);
Dadurch wird die von Ihnen angegebene Schaltfläche markiert und die anderen deaktiviert.
Oder Sie können es in der XML-Datei tun:
In der RadioGroup using: Android:checkedButton="id_button_to_check"
oder in der RadioButton : Android:checked="true"
Nur um dies zu verdeutlichen: Wenn wir eine RadioGroup
mit mehreren RadioButtons
haben und eine nach Index aktivieren müssen, bedeutet dies:
radioGroup.check(R.id.radioButtonId)
und
radioGroup.getChildAt(index)`
Wir können tun:
radioGroup.check(radioGroup.getChildAt(index).getId());
wenn Sie den Entwurf in XML erstellt haben und eines der Kontrollkästchen in der Gruppe anzeigen möchten, das beim Laden der folgenden Seite aktiviert ist, können Lösungen hilfreich sein
<RadioGroup
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_below="@+id/txtLastNameSignUp"
Android:layout_margin="20dp"
Android:orientation="horizontal"
Android:id="@+id/radioGroup">
<RadioButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:checked="true"
Android:id="@+id/Male"
Android:text="Male"/>
<RadioButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/Female"
Android:text="Female"/>
</RadioGroup>
Ich habe mehrere RadioButtons ohne Group und setChecked(true)
funktioniert, aber setChecked(false)
funktioniert nicht. Dieser Code funktioniert jedoch:
RadioButton switcher = (RadioButton) view.findViewById(R.id.active);
switcher.setOnClickListener(new RadioButton.OnClickListener(){
@Override
public void onClick(View v) {
if(((RadioButton)v).isSelected()){
((RadioButton)v).setChecked(false);
((RadioButton)v).setSelected(false);
} else {
((RadioButton)v).setChecked(true);
((RadioButton)v).setSelected(true);
}
}
});
Viele Male, wenn Ihre Radiobuttons dann zu einer Radiogruppe gehören
radioButton.setChecked (true)
wählt das Optionsfeld nicht richtig aus. Um dieses Problem zu lösen, versuchen Sie es mit Ihrer radioGroup.
radioGroup.check (R.id.radioButtonId)