AdapterView - 해당되는 글 2건

안드로이드에서 기본적으로 제공해주는 ListView를 수정하여 사용자가 정의하는 CustomView를 작성해본다.


 

우선 사용자가 화면에 뿌려주고자 하는 값들을 가진 데이터(MyData)클래스를 구현 한 다음 ArrayAdapter를 상속받은 새로운 어댑터(MyAdapter) 클래스를 구현한다.

ArrayAdapter를 상속받은 리스트는 다양한 메소드가 존재하지만 그 중 화면에 어떠한 방법으로 보여줄지를 결정하는 getView()메소드가 가장 중요하다.

우선 이 메소드를 오버라이딩하여 내부를 다시 구성한다.


LayoutInflater는 xml파일을 파싱해서 실제 object를 만들어 내는 역할을 한다.

그리고 같은 정보를 다시 갱신하지 않도록 하기 위해 ViewHolder클래스를 두고 태그로 저장하고 불러오는 형태로 효율을 높인다.

최종적으로 만들어진 뷰를 리턴하여 리스트에서 하나의 아이템으로 보일 수 있도록 한다.



 

저작자 표시
신고

'Study > Android' 카테고리의 다른 글

[Android: SharedPreference]  (0) 2011.04.05
[Android: Web Parsing]  (0) 2011.04.04
[Android: CustomView]  (0) 2011.03.29
[Android: ListView]  (0) 2011.03.28
[Android: Activity만들기]  (0) 2011.03.23
[Android: Media Scanner]  (0) 2011.03.23
Trackback 0 | Comment 0

리스트 뷰는 복수 개의 항목을 수직으로 표시하는 위젯이다.

리스트 뷰, 그리드 뷰, 스피너, 갤러리 등이 모두 항목 집합을 표시하는데 이들을 묶어서 어댑터 뷰라고 부른다. 각 위젯은 집합을 표시한다는 면에서 기능적으로 동일하지만 항목을 표시하는 방법이 다르다. 공동 조상인 AdapterView는 ViewGroup으로부터 파생되므로 어댑터 뷰는 항목에 해당하는 여러 개의 차일드 뷰를 가질 수 있다. 뿐만 아니라 리니어, 렐러티브같이 배치만 담당하는 레이아웃과는 달리 사용자와 상호작용도 처리하므로 터치나 키패드로 항목을 선택할 수도 있다.



코드에서 문자열 배열을 직접 정의하는 것은 효율적이지 못하며 관리에도 불리하다. 고정적인 문자열이라면 컬렉션이나 배열을 쓰는 것보다 리소스에 정의해 놓고 읽어와 사용하는 것이 바람직하다. 배열도 일정의 리소스이다. 패키지 탐색기의 values 노드에 arrays.xml파일을 만들고 다음 문서를 작성한다.

 

저작자 표시
신고

'Study > Android' 카테고리의 다른 글

[Android: Web Parsing]  (0) 2011.04.04
[Android: CustomView]  (0) 2011.03.29
[Android: ListView]  (0) 2011.03.28
[Android: Activity만들기]  (0) 2011.03.23
[Android: Media Scanner]  (0) 2011.03.23
[Android: 다국어 지원]  (0) 2011.03.23
Trackback 0 | Comment 0

강군v's Blog is powered by Daum & tistory

 

티스토리 툴바