IOS를 사랑하는 AOS 개발자
[Android] RadioButton 간단 사용법(feat. strings.xml) 본문
👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻
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 으로 감싸줘야해요!!!
왜냐믄 복수 선택이 안되니까요!!!!!!!!!!!
이제 코드로 넘어 갑니다!
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 에 작성한 내용대로 버거종류가 쪼로록 나오져? 🙂
직접 활용해서 다양한 것을 해보세요!!!!!!!!!!!!!!
이로써 코드는 끝 입니다
👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻
'Android ( JAVA ) > 개발' 카테고리의 다른 글
[Android] Activity 생명주기( 액티비티 이동 ) (0) | 2021.12.21 |
---|---|
[Android] SlidingDrawer 간단 사용법 (0) | 2021.12.21 |
[Android] CheckBox 간단 사용법 (0) | 2021.12.21 |
[Android] FrameLayout 간단 사용법2 (0) | 2021.12.21 |
[Android] FrameLayout 간단 사용법 (0) | 2021.12.21 |