메뉴 건너뛰기

조회 수 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. 카카오톡 분석하기 (1) - sqlite 파해치기

    Date2016.05.26 Views10452
    Read More
  2. 카카오톡 대화내용 가져오기(sqlite3, chat_logs)

    Date2016.05.26 Views15125
    Read More
  3. 초기화면 페이지를 만들어보자. splash 페이지 제작

    Date2020.12.14 Views285
    Read More
  4. 체크 박스(CheckBox)의 이미지 바꾸기

    Date2015.07.16 Views6398
    Read More
  5. 줄바꿈 문자 치환

    Date2020.12.14 Views289
    Read More
  6. 전화 인텐트와 나의 전화 번호가져오기

    Date2014.08.28 Views6312
    Read More
  7. 인텐트를 이용한 Activity간 데이터 전달 (사용자 정의 클래스)

    Date2015.07.16 Views7061
    Read More
  8. 이미지의 Orientation를 체크해서 이미지 회전하기

    Date2015.07.16 Views7658
    Read More
  9. 이미지 버튼(ImageButton) 만들기

    Date2015.07.16 Views7114
    Read More
  10. 이미지 버튼 설정

    Date2015.07.16 Views6378
    Read More
  11. 위젯 업데이트 주기 빠르게 하기

    Date2018.10.02 Views2142
    Read More
  12. 월별 캘린더에 일정 입력 및 조회 기능 리스트로 추가하기

    Date2015.07.16 Views18552
    Read More
  13. 옵션 메뉴 동적으로 생성하기

    Date2015.07.16 Views6926
    Read More
  14. 어댑터 뷰(Adapter View) & 어댑터(Adapter) (1)

    Date2016.06.08 Views7852
    Read More
  15. 앱 번들(Android App Bundle) 만들기

    Date2021.09.14 Views305
    Read More
  16. 암시적 인텐트를 사용한 인터넷열기, 전화걸기, 문자보내기 [Intent (인텐트)]

    Date2016.06.07 Views7736
    Read More
  17. 알아놓으면 좋은 내용정리

    Date2016.06.07 Views7458
    Read More
  18. 안드로이트 비콘 스캐닝시 고려 사항

    Date2015.07.26 Views6658
    Read More
  19. 안드로이드용 채팅프로그램 클라이언트(java), 서버(c#) 소스

    Date2016.05.19 Views11723
    Read More
  20. 안드로이드와 mysql 연동시키기. php 와 json 사용

    Date2015.07.16 Views24488
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved