일반적인 체크박스는 체크상태와 체크되지 않은 상태 두 가지 상태를 유지할 수 있다. 체크 박스를 클릭하면 체크된 상태가 계속해서 변경된다.
1. 체크박스
- 안드로이드 SDK에는 체크 박스를 CheckBox 클래스에 구현
- CheckBox 클래스 역시 TextView 클래스의 하위 클래스 이므로 android:textColor와 같이 TextView가 지원하는 속성을 모두 사용
1.1 체크박스 메소드
- isChecked() : 체크 박스가 현재 체크된 상태인지를 확인한다.
- setChecked() : 체크 박스의 체크 상태를 직접 지정한다.
- toggle() : 체크 박스의 체크 상태를 변경한다.
- 리스너 객체 OnCheckedChangeListener를 등록하면 체크 박스 상태가 변경될 때마다 이벤트를 받아서 처리
2. 라디오 버튼
다른 GUI 툴킷과 마찬가지로 안드로이드 SDK의 라디오 버튼 역시 체크 박스처럼 두 가지 상태를 가질 수 있고, 라디오 버튼 여러 개를 하나의 그룹으로 붂어 그룹 안에서는 한 번에 하나의 라디오 버튼만 선택할 수 있다.
- RadioButton 클래스는 CompoundButton 클래스를 상속받았으며, 더 상위에서는 TextView 클래스를 상속 받고 있다.
- TextView에서 지원하는 글꼴종류, 스타일, 색상 등의 다양한 속성을 라디오 버튼에서도 사용 가능
2.1 라디오 버튼 사용
. isChecked() 메소드를 호출해 선택된 상태인지 확인
. toggle() 메서드를 호출하면 선택 상태를 변경
. 라디오 버튼 사용시 여러 개의 RadioButton 인스턴스를 RadioGroup 인스턴스로 묶어 사용
. RadioGroup 클래스는 여러 개의 RadioButton 클래스를 관리하면서 한 번에 하나의 RadioButton만 선택된 상태를 유지하도록 한다.
. XML 레이아웃에서 RadioGroup 엘리먼트에 android:id 속성을 지정해 두면 자바코드에서 라디오 버튼값을 확인할 수 있다.
2.2 메소스
. check() 메소드 : 특정 ID의 라디오 버튼을 체크할 수 있다.
. clearCheck() 메소드 : 특정 ID의 라디오 버튼의 체크 상태를 풀 수 있다.
. getCheckedRadioButtonId() 메소드 : 현재 선택된 라디오 버튼 ID를 알아낼 수 있다.
<?xml version="1.0" encoding="utf-8"?>
<RadioGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RadioButton android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rock" />
<RadioButton android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Scissors" />
<RadioButton android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Paper" />
</RadioGroup>
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 구글맵 Couldn't get connection factory client 에러 (2) | 2010.12.13 |
---|---|
안드로이드 EditText 읽기전용으로 만들기 (0) | 2010.12.06 |
안드로이드 RadioButton / CheckBox 이미지 변경하기. (0) | 2010.12.06 |
안드로이드 Spinner 사용하기 (0) | 2010.12.06 |
안드로이드 DatePicker, TimePicker (2) | 2010.12.05 |
android URLConnection을 이용하여 웹서버에 POST방식요청 예제[스크랩] (0) | 2010.12.05 |
안드로이드 버튼 상태에 따라 배경이미지 바꾸기 (0) | 2010.12.04 |
안드로이드 GPS상태 체크후 설정화면 바로가기 (0) | 2010.12.03 |
[안드로이드] 프로세스와 생명주기 (0) | 2010.12.03 |