IOS를 사랑하는 AOS 개발자

[Android] RadioButton 간단 사용법(feat. strings.xml) 본문

Android ( JAVA )/개발

[Android] RadioButton 간단 사용법(feat. strings.xml)

아사안개 2021. 12. 21. 14:31
반응형
SMALL

👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻

 

 

[Android] CheckBox 간단 사용법

👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻 회원가입을 할때나 뭔가 확인을 요구할때 자주 쓰이는 CheckBox 를 어떻게 하는지 간단하게 해봅시다! 언제나

devziner.tistory.com

 

CheckBox 는 복수로 선택이 가능하지만

무조건 한개만 선택 가능한 RadioButton 을 써보겠습니다!!!

 

 

( 🤗 유튜브 오시면 나름 설명도 해줘요 🤗 )

 

반응형

 

 

이번은!!!! 뷰부터 그리지 않을꺼에요!!

뷰에 필요한 준비물이 있끄든여 😁

 

앱 내에 쓰는 text 를 한곳에 모아서 사용할 수 있는 곳이 있어요!

이번엔 거기다 text 를 미리 작성 한후 불러올거에요!

 

res ▶️ values ▶️ string.xml

경로로 가보면 <resources> .... </resources> 가 보일꺼에요

여기에 각각 이름을 부여하고, 내용을 작성하면

언제 어디서든 작성한 내용의 text 를 사용할 수 있습니다!

 

 

 

 

 

strings.xml
<resources>
    <string name="app_name">Test</string>
    <string name="food1">치즈버거</string>
    <string name="food2">불고기버거</string>
    <string name="food3">치킨버거</string>
    <string name="food4">스테이크버거</string>
    <string name="food5">베이컨버거</string>
    <string name="food6">새우버거</string>
</resources>

 

app_name 은 프로젝트 생성시 작성한 name 그대로 자동으로 작성이 되어있을거에요

<resources> ... </resources> 안에 필요한 내용을 작성합니다.

 

직접 text를 xml에 적어도 되지만,

공통으로 쓰는 text 라면? 매번 모든 xml 이나 코드로 직접 적어줘야 하는 일을 덜어줄 수 있습니다!!!

 

자 이제 드디어 뷰입니다!!!!!!

 

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:padding="20dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_weight="2"
        android:text="메뉴 선택"
        android:textSize="40dp"
        android:gravity="center"/>
    <RadioGroup
        android:id="@+id/rg_01"
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_weight="7"
        >
        <RadioButton
            android:id="@+id/rb_01"
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1"
            android:text="@string/food1"
            android:background="#4BF44336"
            />
        <RadioButton
            android:id="@+id/rb_02"
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1"
            android:text="@string/food2"
            android:background="#66FF9800"
            />
        <RadioButton
            android:id="@+id/rb_03"
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1"
            android:text="@string/food3"
            android:background="#4FFFEB3B"
            />
        <RadioButton
            android:id="@+id/rb_04"
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1"
            android:text="@string/food4"
            android:background="#4F8BC34A"
            />
        <RadioButton
            android:id="@+id/rb_05"
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1"
            android:text="@string/food5"
            android:background="#602196F3"
            />
        <RadioButton
            android:id="@+id/rb_06"
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1"
            android:text="@string/food6"
            android:background="#4B673AB7"
            />


    </RadioGroup>

</LinearLayout>

 

strings.xml 에 적은 내용을 불러 올땐,

android:text="@string/...."

이런식으로 name 을 가져오면 됩니다 ☺️

 

또한! CheckBox 와는 다르게 RadioButton 은 Group 으로 감싸줘야해요!!!

왜냐믄 복수 선택이 안되니까요!!!!!!!!!!!

 

이제 코드로 넘어 갑니다!

 

SMALL

 

MainActivity
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity  {

    // 변수선언
    RadioGroup radioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // xml 연결
        radioGroup=findViewById(R.id.rg_01);

        // 클릭이벤트
        radioGroup.setOnCheckedChangeListener(checkedChangeListener);
    }

    RadioGroup.OnCheckedChangeListener checkedChangeListener = new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            String str = "";
            RadioButton radioButton = findViewById(checkedId);
            str = radioButton.getText().toString();
            Toast.makeText(MainActivity.this, str + " 주세요!!", Toast.LENGTH_LONG).show();
        }
    };

}

RadioGroup.OnCheckedChangeListener 로 클릭 이벤트를 확인 할 수 있습니다!!

 

 

분명 xml 에는 "@string/...." 로 작성했는데,

string.xml 에 작성한 내용대로 버거종류가 쪼로록 나오져? 🙂

 

직접 활용해서 다양한 것을 해보세요!!!!!!!!!!!!!!

 

이로써 코드는 끝 입니다

 

 

👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻 

반응형
LIST
Comments