메뉴 건너뛰기

조회 수 7852 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

1. 어댑터 뷰(Adapter View)

- 어댑터 뷰는 ViewGroup에서 파생된 클래스로써 여러개의 차일드 뷰를 가질수 있습니다.

- 어댑터 뷰는 표실항 항목의 데이터를 어댑터(Adapter) 객체로부터 공급 받는 형태의 뷰입니다.

- 리스트뷰, 그리드뷰, 스피너, 갤러리등을 묶어 어댑터 뷰라고 합니다.

- 사용자와 상호작용도 처리합니다 (클릭이벤트 같은?)

 

2. 어댑터(Adapter)

- 어댑터는 어댑터 뷰에게 데이터를 공급하는 객체로써 원본으로부터 얻은 데이터를 관리합니다.

   어댑터 뷰는 어댑터에게 받은 데이터를 화면에 출력하는 역활을 하는 것이구요.


* 왜 굿이 어댑터를 이용해서 리스트뷰에 데이터를 전달할까요? 그냥 리스트뷰에서 바로 가져다 쓰면 안될 까?

  저도 자세히는 모르지만, 어댑터 뷰를 이용하게되면 데이터가 넘치면 자동으로 스크롤이 생기고

  xml형태로 미리 만들어 놓은 리스트 뷰 형태가 있어 가져다 쓰면 되기 때문에 편리합니다.


한 번 어댑터에 필요한 매개변수들을 살펴 봅시다.

* 어레이 어댑터 생성자 매개변수

 ArrayAdapter(Context context, int textViewResourceId, List<T> objects)

 ArrayAdapter(Context context, int textViewResourceId, T[] objects)

 

- 첫번째 매개변수

 : Context를 매개변수로 하기때문에 Context의 subclass인 Activity 클래스를 넣어주면 됩니다. 안드로이드 프로젝트를 생성하

   면 Activity를 상속받은 클래스를 하나 만들기 때문에 this를 넣어주면 됩니다.


- 두번째 매개변수

 : 정수형태의 자원의 ID를 달라고 합니다, 해당 ID는 안드로이드에서 XML형태로 미리 만들어 놓은 자원의 ID를 넣으면 됩니다.

   Android에서 미리 만들어 놓은 디자인을 사용함으로써 ListView에 들어갈 ChildeView의 디자인에 신경을 덜 써도 됩니다.


* 안드로이드에서 지원하는 ChildeView 모양

리소스 ID

설명

Simple_list_item_1

하나의 텍스트 뷰로 구성된 레이아웃

Simple_list_item_2

두 개의 텍스트 뷰로 구성된 레이아웃

Simple_list_item_checked

오른쪽에 체크 표시가 나타난다.

Simple_list_item_single_choice

오른쪽에 라디오 버튼이 나타난다.

Simple_lsit_item_multiple_choice

오른쪽에 체크 버튼이 나타난다.



* 여기서 생성되는 하나 하나가 모두 view라고 보시면 됩니다. 이를 adapter가 만들어 주는 것이구요.

- Simple_list_item_1

가장 기본적인 모입니다.


- Simple_list_item_checked

- Simple_lsit_item_multiple_choice


- 세번째 매개변수

 : List인터페이스를 상속받은 ArrayList, Stack 등의 배열 클래스 객체를 넣을 수도 있고 단순 배열형태도 넣을 수 있습니다.


어댑터는 대충 이런느낌?

중간에서 원본을 참조해서 어댑터뷰(=리스트뷰)에게 전달하는 역할을 합니다.



다음 시간에는 코드를 보도록 합시다.



List of Articles
번호 제목 날짜 조회 수
257 안드로이드 php 로 mysql json 파싱 하기 2014.08.28 9407
256 FTPClient 를이용하여 ftp상 서버에서 데이터 다운로드 편 2014.08.28 9853
255 XmlPullParser 를이용하여 데이터 가져와보기!! 2014.08.28 7221
254 FTPClient 를이용한 데이터 업로드 하기 2014.08.28 6366
253 클래스나눠서 xml 파싱과 FTP를이용하여 안드로이드에서 활용하기 2014.08.28 6180
252 전화 인텐트와 나의 전화 번호가져오기 2014.08.28 6312
251 사진찍기 및 앨범 에서 사진 가져오기!!! 2014.08.28 13889
250 안드로이드 웹에서 이미지 불러오기!! 2014.08.28 7053
249 맵에 오버레이 추가하여 아이템 넣어보기 2014.08.28 6474
248 실행중인 Service 확인하기 2014.08.28 6595
247 안드로이드 이미지 효율적으로 회전 해보기 2014.08.28 5995
246 WIFI 신호세기 강도 측정하기 2014.08.28 11243
245 WebView 줌 컨트롤러 가리기 2014.08.28 6316
244 ImageVeiw의 현재 리소스 비교하기 2014.08.28 6750
243 HTML5 Speech Input (음성인식) API 2014.09.04 6454
242 HTML5 시작하기 file 2014.09.04 5660
241 CSS3 Rounded Corner, 그림자 효과 사용하기 file 2014.09.04 6760
240 JavaScript 맛보기 file 2014.09.04 6589
239 HTML5로 비디오 보여주기 Video Tag file 2014.09.04 7061
238 HTML5로 나만의 비디오 플레이어 스킨 만들기 -1- CSS file 2014.09.04 6453
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved