[안드로이드] 라디오 버튼 구현하기
728x90
반응형

Fragment 실습 중 지난번에 학습했던 라디오 버튼을 다시 적용해 보았다.

버튼에 익숙해 있지만 라디오버튼도 자주 쓰이는 기능이기에

이번 기회에 정리를 해 본다.


<activity_main.xml>

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.jongkook.android.fragmentbasic01.MainActivity">


    <fragment
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name="com.jongkook.android.fragmentbasic01.FragmentOne"
        android:id="@+id/fragment"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        tools:layout="@layout/fragment_fragment_one" />

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:orientation="horizontal"
        android:id="@+id/radioGroup"
        android:gravity="center_horizontal">

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Fragment One"
            android:id="@+id/fragment1"
            android:checked="true" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Fragment Two"
            android:id="@+id/fragment2"
            android:layout_gravity="center_horizontal"
            android:checked="false" />
    </RadioGroup>

</RelativeLayout>


위 소스에서 RadioGroup 안에 버튼을 넣었다.

이때 알아두어야 할 옵션은 android:orientation으로 버튼을 세로 혹은 가로로 배치하도록 만든다.




<MainActivity.java>

        RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radioGroup);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.fragment1 : goOne();
break;
case R.id.fragment2 : goTwo();
break;
}

}
});

MainActivity에서 라디오 버튼 구현 부분만 가져왔다.

버튼과 다르게 setOnCheckedChangeListener를 이용한다.

내부에서는 switch문을 통해 라디오 버튼을 구분한다.


참고 링크


728x90
반응형