[Android / Kotlin] AdapterView

Subeen·2024년 1월 3일
0

Android

목록 보기
28/71

AdapterView

  • 어댑터 뷰(AdapterView)는 여러 개의 항목을 다양한 형식으로 나열하고 선택 할 수 있는 기능을 제공하는 뷰
    • 리스트 뷰(ListView) : 항목을 수직을 나열시키는 방식
    • 그리드 뷰(GridView) : 항목을 격자 형태로 나열시키는 방식
  • 어댑터 뷰는 표시 할 항목 데이터를 직접 관리하지 않고 어댑터라는 객체로부터 공급 받습니다.

Adapter

  • 데이터를 관리하며 데이터 원본과 어댑터뷰(ListView, GridView) 사이의 중계 역할
  • 어댑터뷰는 어떻게 데이터 항목을 표시할까?
    • 어댑터뷰가 어댑터를 사용하기 위해서는 먼저 데이터 원본이 어댑터에 설정되어야 하고, 어댑터뷰에는 어댑터가 설정 되어야 한다.
    • 어댑터뷰는 항목을 표시하기 위해서 먼저 표시할 항목의 총 개수를 알 필요가 없을 것이다. 이 때, 어댑터 뷰는 어댑터의 getCount()란 메소드를 통해 현재 어댑터가 관리하는 데이터 항목의 총 개수를 반환한다.
    • 어댑터뷰는 어댑터의 getView()란 메소드를 통해서 화면에 실제로 표시 할 항목 뷰를 얻고, 이를 화면에 표시한다.
  • 사용자가 어댑터뷰의 특정 위치의 항목을 선택했을 때, 어댑터뷰는 성택된 항목, 항목 ID, 항목뷰를 어댑터의 getItem(), getItemId(), getView() 메소드를 통해 얻어와서 이를 항목 선택 이벤트 처리기에 넘겨 준다.

    요약하면, 어댑터 뷰는 어댑터에 정의 된 인터페이스를 바탕으로 필요한 정보를 요청하여 항목뷰를 화면에 표시하거나 선택된 항목뷰를 처리한다.

Adapter 종류

BaseAdapter

  • 어댑터 클래스의 공통 구현
  • 사용자 정의 어댑터 구현 시 사용

ArrayAdapter

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

CursorAdapter

  • 데이터베이스로부터 데이터를 공급 받음

SimpleAdapter

  • 데이터를 Map(키, 값)의 리스트로 관리
  • 데이터를 XML 파일에 정의 된 뷰에 대응시키는 어댑터

Adapter 객체 생성

  • 데이터 원본이 배열인 경우에 ArrayAdapter 객체 사용
  • ArrayAdapter 생성자
  • ArrayAdapter(Context context, int resource, int textViewRedourceId, T[] objects)
    • context : 현재 컨텍스트
    • resource : 항목으로 표시 될 텍스트 뷰의 리소스 ID
리소스 ID설명
android.R.layout.simple_list_item_1하나의 텍스트 뷰로 구성된 레이아웃
android.R.layout.simple_list_item_1두 개의 텍스트 뷰로 구성된 레이아웃
android.R.layout.simple_list_item_checked오른쪽에 체크 표시가 나타남
android.R.layout.simple_list_item_single_choice오른쪽에 라디오 버튼이 나타남
android.R.layout.simple_list_item_multiple_choice오른쪽에 체크 버튼이 나타남
profile
개발 공부 기록 🌱

0개의 댓글