CODEDRAGON ㆍDevelopment/Android
ListView (리스트 뷰)
- 뷰 객체들을 수직 방향의 목록 형태로 보여줍니다.
- 수직 스크롤을 지원합니다.
- 일반적으로 목록의 각 항목은 자료를 담는 뷰입니다.
- 여러 개의 아이템 중에 선택하는 기능을 넣을 때 자주 사용됩니다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/selection" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawSelectorOnTop="false" /> </LinearLayout> |
ArrayAdapter
ListView와 ArrayList사이에서 중계역할을 해주는 BaseAdapter와 비슷한 클래스
http://developer.android.com/intl/ko/reference/android/widget/ArrayAdapter.html
ArrayList
- 일반적인 배열의 기능에서 확장된 클래스.
- 배열의 데이터를 추가하거나 삭제 가능.
Class ArrayList<E>
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
BaseAdapter
BaseAdapter를 상속받은 클래스를 생성하면 BaseAdapter내에 정의된 추상메소드를 구현해야 합니다. 구현해야할 메소드는 getCount(), getItem(), getItemId(int position), getView(int position, View convertView, ViewGroup parent)입니다.
어댑터 뷰와 관계되는 어댑터를 구현하기 위해 BaseAdapter 클래스를 상속 받는 어댑터 클래스를 정의해서 사용합니다.
BaseAdapter의 추상메소드
추상메소드 | 설명 | ||||||
public int getCount() | 자식 뷰들의 개수를 리턴하는 메소드입니다. 여기서 자식 뷰는 어댑터 뷰의 자식 뷰임을 의미합니다. | ||||||
public Object getItem(int position) | 어댑터 뷰의 자식 뷰가 n개라면, 어댑터 객체가 갖는 항목의 개수 역시 n개입니다. getItem 메소드는 항목들 중 하나를 리턴합니다. 여기에서 항목은 자식 뷰의 내용을 갖는 객체입니다. int position: 리턴할 항목의 위치를 의미합니다. 예를 들어 position의 값이 2이면, 이 메소드는 2번째 항목을 리턴하는 거지요.
| ||||||
public long getItemId(int position) | 이 메소드는 어댑터가 갖는 항목의 ID를 리턴합니다. 단순한 어댑터를 구현하시는 경우라면, 파라메터 position의 값을 그대로 리턴하는 것도 무방합니다. int position : 리턴할 항목의 위치를 의미합니다. 예를 들어 position의 값이 2이면, 이 메소드는 2번째 항목의 ID를 리턴하는 거지요. | ||||||
public View getView(int position, View convertView, ViewGroup parent) | 자식 뷰들 중 하나를 리턴하는 메소드입니다. convertView 파라메터의 값을 확인하여 그것이 생성되었는지 확인할 수 있습니다. 그것의 값이 null이면, 자식 뷰를 생성하세요
|
Class BaseAdapter
http://developer.android.com/intl/ko/reference/android/widget/BaseAdapter.html
'Development > Android' 카테고리의 다른 글
Error-Failed to load, AVD Manager에서 애뮬레이터 생성 후 Filed to load 오류가 뜨는 경우 (0) | 2016.02.29 |
---|---|
SparseBooleanArray - 다중 삭제시 주의사항, 동작 구성 도식도 (0) | 2016.02.29 |
AdapterView - 선택 위젯(Selection Widget), 어댑터뷰(AdapterView) 계층도, 어댑터뷰 패턴 도식도 (0) | 2016.02.29 |
GridLayout (0) | 2016.02.26 |
TableLayout (0) | 2016.02.26 |