Hayden's Archive

[Android] ListView와 Spinner 본문

Study/ETC

[Android] ListView와 Spinner

_hayden 2021. 6. 7. 03:19

참고 : 한국방송통신대학교 모바일앱프로그래밍 교재( https://press.knou.ac.kr/goods/textBookView.do?condCmdtCode=9788920035999&condLscValue=001&condYr=&condSmst= )

 


 

ListView

* AdapterView

  • AdapterView는 여러 개의 차일드 뷰를 통합하여 화면에 표시할 수 있음
  • LinearLayout, RelativeLayout과 같이 차일드 뷰의 배치만 담당하는 레이아웃과는 달리 사용자와 상호작용도 처리할 수 있으며 항목의 선택이 가능
  • 표시할 항목을 Adapter 객체로부터 전달받아 화면에 출력
    • 항목의 개수는 제한 없음
    • 실행 중에 항목이 바뀔 수 있고 표시할 수 있는 데이터의 원본도 다양

 

* ListView

  • 여러 개의 항목들을 수직으로 표시하는 위젯
  • 주소록이나 상품 목록과 같이 다수의 항목을 출력해야 하는 앱에서 많이 사용
  • 수직 스크롤을 지원하며, 스마트폰 화면 길이보다 긴 항목들을 표시할 수 있고, 항목의 개수에는 제한이 없음
  • 간단한 문자열, 이미지를 나타내거나 문자열과 이미지를 같이 표시할 수 있음
  • ListView 항목
    • ListView의 항목은 임의의 뷰이며, 레이아웃을 사용하면 어떠한 형태로든 정보를 표현할 수 있음
    • Adapter로부터 받은 항목들을 수직으로 펼쳐서 보여줌
  • Adapter vs AdapterView
    • Adapter : 화면에 표시될 데이터를 관리
    • AdapterView : Adapter가 전달한 데이터를 화면에 출력

 

 

Spinner

* Spinner와 ListView

  • ListView는 항상 펼쳐져 있지만 Spinner는 클릭할 때만 팝업 형식으로 펼쳐짐
  • 목록을 보려면 팝업을 열어야 하고 선택을 위해 최소한 두 번 클릭해야 함
    • ListView는 항상 보이며 사용자와의 상호 작용도 용이해서 Spinner보다는 좀 더 활용도가 높은 편
  • Spinner의 경우 여러 개의 항목 중에서 하나를 선택할 때 사용됨
  • Spinner 또한 Adapter로부터 데이터를 공급받으며 Adapter를 생성하는 방법은 ListView와 동일
  • Spinner에서는 ListView와 달리 선택사항에 대한 Prompt 메시지를 팝업 상단에 표시할 수 있음