Подтвердить что ты не робот

Как установить переключатель в Android

У меня есть приложение, которое использует переключатели. Значение по умолчанию для этой кнопки устанавливается в файле main.xml, то есть:

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

В файле Java я:

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

Я также создал кнопку "Reset" в главном файле Java и может использовать следующий код для reset информации TextView, т.е.

pos1_deg.setText("0.0");

Но как я reset переключатель? Я бы подумал, что это что-то вроде

radio1.setBoolean("TRUE");

Но это не работает вообще.

Любая помощь очень ценится. Спасибо.

4b9b3361

Ответ 1

Для использования radioButton

radio1.setChecked(true);

Не имеет смысла иметь только один RadioButton. Если у вас их больше, вам нужно отключить других через

radio2.setChecked(false); ...

Если ваш параметр включен, используйте CheckBox.

Ответ 2

Если вы хотите сделать это в коде, вы можете вызвать контрольный элемент RadioGroup:

radioGroup.check(R.id.radioButtonId);

Это проверит указанную вами кнопку и снимите отметку с других.

Ответ 3

Или вы можете сделать это в файле XML:

В RadioGroup, используя: android:checkedButton="id_button_to_check"

или в RadioButton: android:checked="true"

Ответ 4

Просто, чтобы прояснить это: если у нас есть RadioGroup с несколькими RadioButtons и нужно активировать его по индексу, это означает, что:

radioGroup.check(R.id.radioButtonId)

и

radioGroup.getChildAt(index)`

Мы можем сделать:

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

Ответ 5

если вы сделали дизайн в формате XML и хотите показать один из флажков в группе, как отмечено при загрузке страницы ниже, решения могут помочь вам

    <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>

Ответ 6

У меня есть несколько RadioButtons без Group и 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);
                                }
                            }

                        });

Ответ 7

btnDisplay.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

            // get selected radio button from radioGroup
        int selectedId = radioSexGroup.getCheckedRadioButtonId();

        // find the radiobutton by returned id
            radioSexButton = (RadioButton) findViewById(selectedId);

        Toast.makeText(MyAndroidAppActivity.this,
            radioSexButton.getText(), Toast.LENGTH_SHORT).show();

    }

});