Android - ListView, GridView

2024. 7. 16. 16:09[개발]/Kotlin 활용 앱 개발

# 어댑터 뷰(Adapter View)

- 여러 항목을 다양한 형식으로 나열하고 선택할 수 있는 기능을 제공하는 뷰

- 표시할 항목 데이터를 직접 관리하지 않고, 어댑터라는 객체로부터 공급받음(데이터 중개 관리자)

- 리스트뷰: 항목을 수직으로 나열

- 그리드뷰: 항목을 격자 형식으로 나열

 

# 어댑터

- 데이터를 관리하여 데이터 원본과 어댑터뷰 사이의 중개자 역할 수행

- 어댑터뷰가 어댑터를 사용하려면 먼저 데이터 원본이 어댑터에 설정되어야 하고, 어댑터뷰에는 어댑터가 설정되어야 함

- 어댑터뷰는 항목을 표시하기 위해 먼저 표시할 항목의 총 개수를 알아야 하는데, 이때 어댑터뷰는 어댑터의 getCount() 메소드를 통해 어댑터가 관리하는 데이터 항목의 총 개수를 반환

- 어댑터뷰는 어댑터의 getView()라는 메소드를 통해 화면에 실제로 표시할 항목 뷰를 얻고 이를 화면에 표시함

- 사용자가 어댑터뷰의 특정 위치의 항목을 선택했을 때, 어댑터뷰는 선택된 항목, 항목 ID, 항목 뷰를 어댑터의 getItem(), getItemId(), getView() 메소드를 통해 얻어와 이를 항목 선택 이벤트 처리기에 넘겨줌

 

# 어댑터의 종류

1) BaseAdapter

- 어댑터 클래스의 공통 구현

- 사용자 정의 어댑터 구현 시 사용

 

2) ArrayAdapter

- 객체 배열이나 리소스에 정의된 배열로부터 데이터 공급받음

 

3) CursorAdapter

- DB로부터 데이터를 공급받음

 

4) SimpleAdapter

- 데이터를 Map(키, 값)의 리스트로 관리

- 데이터를 XML파일에 정의된 뷰에 대응시키는 어댑터

 

 

 

# 리스트뷰

- 어댑터 뷰의 위젯으로서 복수 개의 항목을 수직으로 표시

 

# 그리드뷰

- 2차원 스크롤 가능한 그리드에 항목을 표시