2. Adapter View?
• Adapter View라고 불리는 이유는, 화면에 필요한 데이터를 바로
직접적인 사용이 아닌 Adapter라는 중간자를 거쳐서 사용이 되기
때문입니다.
• 그만큼 데이터 개수나 내용에 변화가 있다는 것을 의미하기도 합니다.
• 데이터 처리 중간자, 이른바 Controller가 바로 Adapter
3. 데이터 타입과 Adapter
• BaseAdapter를 추상체로 해서 데이터 형태에 따라서 ArrayAdapter,
CursorAdapter, SimpleAdapter가 있습니다.
• ArrayAdapter : 배열 형태 데이터 중간자
• CursorAdapter: Cursor 형태 데이터 중간자
• SimpleAdapter: XML 파일의 정적 데이터 중간자.
• Adapter는 원본 데이터를 가져와서 상응하는 데이터에
대한 View를 구성하는 역할을 수행.
4. • R.array.country: 리스트에 보여질 데이터 설정
• R.layout.simple_list_item_1: 리스트 항목 1개를 구성하는 XML layout 설정
• setAdapter: 어댑터를 통해서 View를 구성하는 View와 Adapter를 연결
5. 다른 모양 Row를 가진 Adapter View 만들기
• AdapterView에서는 Adapter를 통해, 알아낸 일정 개수의 항목들을
Adapter가 만들어주는 개별 View들을 의도하는 형태로 시각적으로
나타냅니다.
• AdapterView는 Adapter가 품고 있는 데이터에 대해서는 전혀 모르고,
Adapter와 아래 함수 통해서만 데이터를 받아서 처리합니다.
• getCount / getItem / getItemId / getView
• 원하는 형태 Row를 만드는 것은 BaseAdapter를 상속해서
getView를 구현하는 것이다.
Data SourceAdapterAdapterView
데이터 정보
데이터 표현 View
6. View getView (int position, View convertView, ViewGroup parent)
position The position of the item within the
adapter's data set of the item whose view
we want.
convertView The old view to reuse, if possible. Note:
You should check that this view is non-
null and of an appropriate type before
using. If it is not possible to convert this
view to display the correct data, this
method can create a new view.
Heterogeneous lists can specify their
number of view types, so that this View is
always of the right type
(see getViewTypeCount() andgetItemVie
wType(int)).
parent The parent that this view will eventually
be attached to
8. Spinner를 채우자
View와 Data간에 연결을 Cursor를 바탕으로 구성하는 Adapter
다른 Adapter가 그러한 것 처럼!
Data를 반영한 View를 만들어 주는 역할을 수행.
이를 좀 더 단순화 시켜 from, to, layout를 설정만 하면 되도록 단순화