리스트뷰
리스트뷰(ListView)는 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹의 한 종류입니다.
리스트 뷰는 여러개의 아이템 중에서 하나를 선택 할 수 있는데 이렇게 선택할 수 있는 위젯을 '선택위젯'이라 합니다.
선택위젯
선택위젯이란 여러 개의 아이템 중에서 하나를 선택하는 방식으로
선택할 수 있는 여러 개의 아이템은 어댑터(Adapter)를 통해 화면에 표시됩니다.
어댑터는 아이템을 위한 데이터 관리와 뷰를 생성하는데
데이터를 받아 View를 생성하고, 이 생성된 View가 ListView의 하나의 아이템이 됩니다.
선택위젯에는 '리스트 뷰', '콤보박스(스피너)', '그리드 뷰' , '갤러리' 등이 있습니다.
즉, 리스트 뷰는 전화번호부(껍데기) , 리스트 뷰의 아이템은 한 사람의 전화번호로 볼 수 있습니다.
또한 각각의 아이템은 동일한 모양을 가집니다.
리스트뷰로 보여줄 때 해야 할 일들
1) 아이템을 위한 XML 레이아웃 정의하기
= 리스트뷰에 들어갈 각 아이템의 레이아웃을 XML로 정의함
2) 각각의 아이템을 위한 뷰 정의하기
= 리스트뷰에 들어갈 각 아이템을 하나의 뷰로 정의, 이 뷰는 여러 개의 뷰를 담고 있는 뷰그룹이어야 함, 이것은 부분화면과 같아서 (1)번에서 정의한 XML 레이아웃을 인플레이션 후 설정해아함
3) 어댑터 정의하기
= 데이터 관리 역할을 하는 어댑터 클래스를 만들고 그 안에 각 아이템으로 표시할 뷰를 리턴하는 getView() 메소드를 정의한다.
리턴해주는 뷰가 그대로 아이템으로 보인다. 각각의 아이템을 위한 뷰가 있으면 그 뷰 객체를 이용해서 리턴을 해준다.
4) 리스트뷰 정의하기
= 화면에 보여줄 리스트뷰를 만들고 그 안에 데이터가 선택되었을 때 호출될 리스너 객체를 정의함