메뉴 건너뛰기

조회 수 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 등의 배열 클래스 객체를 넣을 수도 있고 단순 배열형태도 넣을 수 있습니다.


어댑터는 대충 이런느낌?

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



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



  1. 안드로이드 로그인유지 코드

    Date2015.12.14 Views8807
    Read More
  2. 안드로이드 EditText 필터링 검색 구현(adapter.getFilter().filter(cs))

    Date2015.12.14 Views8774
    Read More
  3. 안드로이드 webview (웹뷰) 개발 #3 - 초기 로딩화면 (splash) 띄우기 + 아이콘 적용하기

    Date2015.07.17 Views8697
    Read More
  4. JAVA JDBC를 사용하여 MySQL과 연동

    Date2015.11.21 Views8644
    Read More
  5. 화면 해상도에 관계없는 레이아웃(Layout) 만들기

    Date2015.07.16 Views8641
    Read More
  6. 폰갭(PhoneGap) 에서 페이지들간의 이동

    Date2015.06.29 Views8476
    Read More
  7. 폰갭(PhoneGap) 플러그인 만들기

    Date2015.06.29 Views8458
    Read More
  8. 안드로이드 소스 코드 보호 기법

    Date2015.06.29 Views8336
    Read More
  9. Activity Switching / 안드로이드 액티비티 전환 / 화면 전환

    Date2016.06.07 Views8311
    Read More
  10. 안드로이드 webview (웹뷰) 개발 #2 - 파일 첨부 및 플러그인 적용하기

    Date2015.07.17 Views8295
    Read More
  11. [안드로이드] 페이스북 같은 슬라이드 메뉴 만들기

    Date2015.07.21 Views8203
    Read More
  12. Android Navigation Drawer API 공개! 디자인 가이드 살펴보기

    Date2015.07.29 Views8141
    Read More
  13. 안드로이드 맵 API key (배포용 맵키)

    Date2015.07.01 Views8103
    Read More
  14. Android 와 JSP 간 파라미터 암복호화 (3)

    Date2016.05.26 Views8091
    Read More
  15. 화면 회전에 따른 애니메이션 효과 구현하기

    Date2015.07.16 Views8055
    Read More
  16. 안드로이드 로그인 화면 만들기

    Date2015.09.05 Views8043
    Read More
  17. 블루투스(Bluetooth) 통신에 대해 알아보자

    Date2015.07.01 Views7983
    Read More
  18. 안드로이드 - 소방시설바이블 어플 소스 ( 폰갭, 폰갭플러그인, assets 폴더안의 파일 이용, pdf 리더기 선택, 유튜브재생기 선택 )

    Date2015.06.29 Views7976
    Read More
  19. 안드로이드 NDK 개발환경 만들기 / 이클립스 NDK 설정

    Date2015.06.10 Views7890
    Read More
  20. 어댑터 뷰(Adapter View) & 어댑터(Adapter) (1)

    Date2016.06.08 Views7852
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved