web-dev-qa-db-ja.com

Androidでラジオボタンを設定する方法

ラジオボタンを使用するアプリがあります。このボタンのデフォルトは、main.xmlファイルで設定されます。つまり:

Android:id="@+id/rb_sat1E"
Android:checked="true"

Javaファイルにある:

final RadioButton radio1 = (RadioButton)findViewById(R.id.rb_sat1E);

メインのJavaファイルに 'Reset'ボタンを作成しました。次のコードを使用してTextView情報をリセットできます。

pos1_deg.setText("0.0");

しかし、ラジオボタンをリセットするにはどうすればよいですか?私はそれが次のようなものだと思っていただろう

radio1.setBoolean("TRUE");

しかし、それはまったく機能しません。

どんな助けも大歓迎です。ありがとう。

53
Entropy1024

RadioButton用

radio1.setChecked(true);

RadioButtonを1つだけ持つことは意味がありません。それらがもっとある場合は、他の人のチェックを外す必要があります

radio2.setChecked(false); ...

設定がオン/オフの場合は、CheckBoxを使用します。

89
Zelimir

コードで実行する場合は、RadioGroupのチェックメンバーを呼び出すことができます。

radioGroup.check(R.id.radioButtonId);

これにより、指定したボタンがオンになり、他のボタンはオフになります。

92
gulchrider

または、XMLファイルでそれを行うことができます。

RadioGroupを使用して:Android:checkedButton="id_button_to_check"

またはRadioButtonAndroid:checked="true"

30
Samoht

これを明確にするために、複数のRadioGroupを持つRadioButtonsがあり、インデックスで1つをアクティブにする必要がある場合、次のことを意味します。

radioGroup.check(R.id.radioButtonId)

そして

radioGroup.getChildAt(index)`

できること:

radioGroup.check(radioGroup.getChildAt(index).getId());
9
cvyryk

xMLでデザインを行い、グループ内のチェックボックスの1つを表示したい場合は、以下のページをロードするときに解決できます。

    <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

ラジオボタンが同じradioGroupに属している場合、何度も

radioButton.setChecked(true)

ラジオボタンを適切に選択しません。この問題を解決するには、radioGroupを使用してみてください。

radioGroup.check(R.id.radioButtonId)

1
anoopbryan2

グループのない複数のRadioButtonがあり、setChecked(true)は機能しますが、setChecked(false)は機能しません。しかし、このコードは機能します:

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

                        });
0
Eugen