목차
- 안드로이드 스튜디오 앱 프로젝트 생성 예제 이전 포스팅 참고 학습
- 안드로이드 TextView 출력 예제 이전 포스팅 참고 학습
- 안드로이드 EditText 텍스트 편집 예제 이전 포스팅 참고 학습
- 안드로이드 레이아웃 XML에 EditText 추가 예제
- 안드로이드 CheckBox에 선택된 아이템 가져오기 예제
안드로이드 스튜디오 앱 프로젝트 생성 예제 이전 포스팅 참고 학습
오늘 포스팅 주제는 안드로이드 앱에서 CheckBox 컴포넌트를 이용하여 사용자가 선택한 아이템을 가져오는 예제입니다. 이를 위해서는 신규 앱 프로젝트를 생성하여 빌드 및 실행할 수 있어야합니다.
하지만, 아직 이러한 프로젝트 생성 방법을 모르신다면 아래의 이전 포스팅 링크를 참고하여 학습해주세요.
2023.08.22 - [Android] - [안드로이드] 프로젝트 생성 예제(로그출력, TextView)
안드로이드 TextView 출력 예제 이전 포스팅 참고 학습
이전 포스팅에서는 안드로이드 앱에서 텍스트를 화면에 출력하는 방법에 대해 알아보았습니다. MainAcitivity XML 레이아웃 파일에 TextView를 추가하고, 자바 코드에서 해당 TextView를 찾아 텍스트를 설정하였습니다.
또한 폰트 크기를 키우거나 폰트 색상을 RGB 기반으로 변경하는 예제도 알아보았습니다. 만약 이러한 코드가 필요하시거나 궁금하시다면 아래의 링크를 참고해주세요.
또한 오늘 포스팅 예제에서도 TextView에 사용자가 선택한 Checkbox 아이템을 출력할 예정입니다.
2023.08.22 - [Android] - [안드로이드] TextView 출력 예제(폰트 크기, 색상 변경)
안드로이드 EditText 텍스트 편집 예제 이전 포스팅 참고 학습
마지막으로 EditText를 사용하여 사용자의 텍스트 입력을 받고 편집하는 방법이 궁금하시다면 이전 포스팅을 참고해주세요. CheckBox도 사용자가 선택한 아이템을 가져오지만 EditText는 사용자가 입력한 텍스트를 가져올 때 사용합니다.
2023.08.22 - [Android] - [안드로이드] EditText 텍스트 입력 예제(텍스트 가져오기, setEnabled, getText)
안드로이드 레이아웃 XML에 EditText 추가 예제
우선 아래와 같이 안드로이드 앱의 UI를 구성하는데 필요한 레이아웃 XML 파일에 CheckBox 추가합니다. 이후 Java 코드에서 사용자가 선택한 아이템을 가져올 수 있도록 ID를 부여합니다.
예제를 위해 2~3개 추가합니다. 또한 버튼을 추가하여 클릭시 아이템을 가져오도록 합니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/test_tv"
android:text="comment"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<CheckBox
android:id="@+id/test_chk1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="사과"/>
<CheckBox
android:id="@+id/test_chk2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="오렌지" />
<CheckBox
android:id="@+id/test_chk3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="바나나" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/test_btn"
android:text="btn" />
</LinearLayout>
안드로이드 CheckBox에 선택된 아이템 가져오기 예제
아래와 같이 MainActivity 코드에서 사용자가 선택한 CheckBox 아이템을 가져올 수 있습니다. 오늘 예제에서는 버튼 클릭시 가져오도록 설정하였습니다. CheckBox의 하위 메소드인 getText()를 사용하면 아이템명을 가져올 수 있습니다.
package com.example.blog_test_app;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView)findViewById(R.id.test_tv);
CheckBox chk1 = (CheckBox)findViewById(R.id.test_chk1);
CheckBox chk2 = (CheckBox)findViewById(R.id.test_chk2);
CheckBox chk3 = (CheckBox)findViewById(R.id.test_chk3);
Button btn = (Button)findViewById(R.id.test_btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String result = "";
if (chk1.isChecked()) result += chk1.getText() + " ";
if (chk2.isChecked()) result += chk2.getText() + " ";
if (chk3.isChecked()) result += chk3.getText() + " ";
tv.setText(result);
}
});
}
}