wake-up-neo.com

So stellen Sie ein Optionsfeld in Android ein

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.

49
Entropy1024

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.

87
Zelimir

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.

88
gulchrider

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"

29
Samoht

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());
8
cvyryk

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>
4
Nirmal Dhara

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);
                                }
                            }

                        });
1
Eugen

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)

0
anoopbryan2