BaseAdapter - BaseAdapter 계층도, BaseAdapter의 추상메소드

CODEDRAGON Development/Android

반응형

   

   

   

BaseAdapter

  • 어댑터 뷰와 관계되는 어댑터를 구현하기 위해 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이면, 자식 뷰를 생성해야 합니다

   

매개변수

설명

int position

리턴할 자식 뷰의 위치를 의미합니다.

View convertView

메소드가 호출되는 시점에 position에 위치하는 자식 뷰를 의미합니다.

파라메터의 값이 null이면, 자식 뷰가 생성되지 않았습니다. 이러한 경우 자식 뷰를 생성하는 코드를 작성해야 합니다.

파라메터의 값이 null이 아니면, 자식 뷰는 이미 생성되었습니다. 이 경우 이값을 바로 리턴할 수도 있습니다.

ViewGroup parent

리턴할 뷰의 부모 뷰를 의미합니다. 즉, 자식 뷰를 포함하는 어댑터 뷰입니다.

 

 

   

   

Class BaseAdapter

http://developer.android.com/intl/ko/reference/android/widget/BaseAdapter.html