확장 리스트뷰(ExpandableListView)
참고 프로젝트: ExpandableListViewDemoA1
확장 리스트뷰는 아이템을 단순 나열하는 리스트뷰를 확장하여 아이템들을 그룹으로 묶을 수 있는 기능을 제공하는 뷰이다.
- 확장 리스트뷰는 기본적으로 스크롤을 지원함
- 확장 리스트뷰의 아이템은 원하는 모양으로 변경하는 것이 가능함
- 그룹명 왼쪽에 있는 아이콘을 제거하거나 변경할 수 있음
- 확장 리스트뷰에 특화된 ExpandableListActivity를 제공함
다음은 확장 리스트뷰의 상속도이다. 이를 통해 ListView를 확장하여 그룹 기능을 추가한 것이 ExpandableListView라는 것을 알 수 있다.
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<T extends android.widget.Adapter>
↳ android.widget.AbsListView
↳ android.widget.ListView
↳ android.widget.ExpandableListView
확장 리스트뷰는 다음처럼 그룹을 선택하면 소속 아이템이 보여지는 구조로 되어 있다.
그림 3-19
다음처럼 레이아웃 XML에
코드 ExpandableListView
<?xml version="1.0" encoding="utf-8"?>
<ExpandableListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
확장 리스트의 그룹이나 아이템을 선택했을 때 또는 그룹을 열거나 닫을 때, 특정 처리를 하고 싶다면 ExpandableListView 클래스 내부에 선언되어 있는 인터페이스를 구현해야 한다. 이에 대한 구체적인 설명은 "제5부 안드로이드 활용 – 확장 리스트뷰 활용하기"에서 하겠다.
확장 리스트뷰와 관련된 속성을 살펴보고 싶다면 다음 링크를 참고하기 바란다.
URL http://www.androidside.com/docs/reference/android/widget/ExpandableListView.html