안드로이드 아답터 이해하기
Understanding Android Adapter
많은 정보를 효과적으로 처리하기 위해 View에 직접 주입하지 않고, adapter라는 중간 매개체를 이용한다.
BaseAdapter 추상클래스들을 이용해 다양한 데이터를 다룰 수 있고 직접 상속받아서 구현할 수도 있다.
- ArrayAdapter : T타입의 배열 데이터를 이용한 adapter
- CursorAdapter : DateBase의 Cursor를 이용한 adapter
- SimplAdapter : XML 파일의 정적인 데이터를 이용한 adapter
Instead of injecting it directly into View to effectively process a lot of information, it uses an intermediary medium called adapter
BaseAdapter abstract classess can be used to handle a variety of data and can be directly inherited and implemented
- ArrayAdapter : adapter using T type arraydata
- CursorAdapter : adapter used Cursor of DataBase
- SimplAdapter : adapter with static data from XML file
BaseAdapter를 상속받게되면 반드시 구현해야 하는 메소드들이 있다.
- getCount() : 화면에 표시해야하는 데이터의 갯수를 반환한다.
- getItem() : 인자로 받은 위치의 데이터 반환한다.
- getItemId() : 인자로 받은 위치의 데이터 id구분자를 반환한다.
- getView() : 인자로 받은 위치의 데이터가 화면에 표시될 뷰를 반환한다.
There are methods that must be implemented if BaseAdapter is inherited.
- getCount() : returns the number of data that should be displayed on the screen
- getItem() : returns data at the location received by the factor
- getItemId() : returns the dat5a id delimiter at the location received by the factor
- getView() : returns the view in which data from the position received with the factor will be displayed on the screen.
// inner class _ Adapter class
class testAdapter extends BaseAdapter {
ArrayList<UserDTO> items = new ArrayList<UserDTO>();
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int position) {
return items.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
// 화면에 표시될 뷰 반환// return view that displayed on the screen
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// ListView_Inflater 인스턴스 생성 - ListView_Inflater instance generate
test_Inflater view = new test_Inflater(getApplicationContext());
// 화면에 표시될 데이터 셋팅
// Set the data to be displayed on the screen
UserDTO dto = items.get(position);
view.setName(dto.getName());
view.setcontent(dto.getContent());
view.setImageView(dto.getResId());
return view;
}
}
'[# 2]…My DevelopStory' 카테고리의 다른 글
안드로이드 기본 정리 ~ Android Basic summary (0) | 2019.03.18 |
---|---|
안드로이드 인플레이션 이해하기 ~ Understanding Android Inflation (0) | 2019.03.08 |
안드로이드 MediaPlayer 노래 재생,정지,일시정지 하기 ~ Android MediaPlayer Start, Stop, Pause (0) | 2019.03.07 |
안드로이드 데이터베이스 SQLite 사용하기(메모저장) ~ Using Android Database SQLite (1) | 2019.03.04 |
안드로이드 프레그먼트를 이용한 이미지 뷰어 ~ ImageViewer with Android Fragment (0) | 2019.02.28 |