관리 메뉴

나만을 위한 블로그

[Android] ArrayAdapter란? 본문

Android

[Android] ArrayAdapter란?

참깨빵위에참깨빵 2019. 12. 1. 15:56
728x90
반응형

참고한 사이트 : https://m.blog.naver.com/PostView.nhn?blogId=netrance&logNo=110132306617&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

 

[안드로이드] ArrayAdapter 객체를 정의하는 방법 #1 - 자바 파일만 작성하여

이번 포스트에서는 ArrayAdapter 객체를 정의하는 방법을 정리합니다. ArrayAdapter란? ArrayAdapter...

blog.naver.com

스피너를 구현하다가 예제에서 ArrayAdapter라는 키워드가 나와서 공부해봤다.

 

ArrayAdapter : 배열과 어댑터 뷰를 연결하는 클래스, 배열은 어댑터 뷰가 화면으로 뿌릴 자료들의 집합이다.

일반적으로 이 어댑터와 연관되는 배열의 종류는 String[], CharSequence[]다.

배열에 문자열이 들어 있으면 어댑터 뷰는 텍스트뷰를 써서 이것들을 보여주는 것이다.

 

ArrayAdapter를 정의하는 방법은 자바 파일만 작성해서 ArrayAdapter 객체를 정의하는 것, 자바 파일과 리소스 파일을 작성해 ArrayAdapter를 정의하는 것 2가지가 있다.

 

1. 자바 파일만으로 작성하는 방법에 대해 알아보면, 먼저 ArrayAdapter 객체와 연관되는 배열을 만들어야 한다.

아래 코드는 String[]을 정의한 예시다.

 

String[] arr = { "string1", "string2", "string3", "string4" };

 

2. 1번에서 String[]을 정의했는데 다음 단계에서는 ArrayAdapter 객체를 생성한다. ArrayAdapter 클래스가 제공하는 생성자를 호출해 ArrayAdapter 객체를 생성해라. 생성자는 여러 종류가 있지만 주로 사용되는 것과 그 인자는 아래와 같다.

 

public ArrayAdapter<T> { Context context, int TextViewResourceId, T[] objects }

 

- Context context : 어떤 액티비티가 ArrayAdapter 객체를 활용하는지를 이 context를 통해 명시한다. 어댑터 객체를 액티비티 클래스 안에 정의한다면 this 키워드를 쓸 수도 있다.

 

- int TextViewResourceId : 안드로이드가 제공하는 레이아웃들의 id값을 의미한다. 안드로이드의 어댑터 뷰는 레이아웃 객체를 갖고, 레이아웃은 주로 텍스트뷰를 갖는다. 어댑터 뷰의 레이아웃은 이 인자를 통해 개발자가 선택할 수 있다.

안드로이드가 제공하는 레이아웃들의 id들은 아래와 같다. 어댑터 뷰의 종류에 따라 사용되는 id가 다르니 참고할 것.

 

 

- T[] objects : 어댑터 뷰가 뿌릴 항목들은 가진 배열이다. 함수 선언부의 <T>는 ArrayAdapter 객체와 관계되는 배열 안의 원소의 자료형을 결정하기 위한 문법적 요소인 제네릭이다. T 대신 원하는 자료형을 선택하면 된다.

주로 쓰이는 건 String, CharSequence다. 이 생성자를 써서 ArrayAdapter 객체를 생성하는 예는 아래와 같다.

 

반응형

'Android' 카테고리의 다른 글

[Android] AR core란?  (0) 2019.12.02
[Android] 스피너란?  (0) 2019.12.01
[Android] runOnUiThread란?  (0) 2019.11.30
[Android] AsyncTask란?  (0) 2019.11.28
[Android] Cannot open a library at FileMapping 에러  (0) 2019.11.26
Comments