programing

Android에서 라디오 버튼을 설정하는 방법

goodcopy 2021. 1. 16. 10:35
반응형

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

그러나 그것은 전혀 작동하지 않습니다.

어떤 도움이라도 대단히 감사합니다. 감사.


radioButton 사용

radio1.setChecked(true);

RadioButton이 하나만있는 것은 의미가 없습니다. 더 많은 항목이있는 경우 다른 항목의 선택을 취소해야합니다.

radio2.setChecked(false); ...

설정이 켜짐 / 꺼짐 인 경우 CheckBox를 사용하십시오.


코드에서 수행하려면 RadioGroup의 check 멤버를 호출 할 수 있습니다.

radioGroup.check(R.id.radioButtonId);

지정한 버튼을 확인하고 다른 버튼은 선택 취소합니다.


또는 XML 파일에서 수행 할 수 있습니다.

에서 을 radioGroup 사용 :android:checkedButton="id_button_to_check"

또는 RadioButton에서 :android:checked="true"


이를 명확히하기 위해 : RadioGroupwith a 가 여러 개 RadioButtons있고 인덱스별로 활성화해야하는 경우 다음을 의미합니다.

radioGroup.check(R.id.radioButtonId)

radioGroup.getChildAt(index)`

우리는 할 수 있습니다 :

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

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>

라디오 버튼이 동일한 radioGroup에 속하는 경우 여러 번

radioButton.setChecked (true)

라디오 버튼이 제대로 선택되지 않습니다. 따라서이 문제를 해결하려면 radioGroup을 사용해보십시오.

radioGroup.check (R.id.radioButtonId)


그룹없이 여러 개의 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);
                                }
                            }

                        });

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

    }

});

참조 URL : https://stackoverflow.com/questions/4134582/how-to-set-a-radio-button-in-android

반응형