일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- div
- 사용법
- Java
- hybrid app
- html
- centos7
- 개발 방법론
- Firebase
- Oracle
- 하이브리드 앱
- 안드로이드
- mysql
- 연동
- spring boot
- php
- ViewPager
- Typescript
- Android
- 비밀번호
- 하이브리드
- CUSTOM
- 강의
- 카카오톡
- db
- CSS
- ImageView
- spring
- SERVLET
- 인텐트
- radiobutton
- Today
- Total
유혁의 개발 스토리
[Android] ListView 사용법 완벽 정리 (SimpleAdapter, CustomAdapter) 본문
안드로이드에서 자주 사용되는 ListView는
데이터들을 한곳에 모아 깔끔하게 보여줍니다.
안드로이드에서 ListView를 어떻게 만드는지 알아보겠습니다.
ListView는
그림과 같이 표현이 됩니다.
위 그림은 가장 기본적인 ListView이며 원하는 형태의 ListView를
Customizing 하여 개발 할 수 있습니다.
● ListView 생성 흐름
ArrayList나 문자배열 등 Listiew에 데이터를 넣어줄
초기화된 데이터 형을 만들어 줍니다. (HaspMap<Obj,Obj>, ArrayList , String[] 등)
초기화된 데이터를 가지고 Adapter를 거쳐 ListView 각 position에 뿌려줍니다.
Adapter는 ListView에 데이터를 넣어주는 중계역할을 수행합니다.
SimpleAdapter는 간단하게 ListView에 데이터를 넣어주며 확장이 다소 적습니다.
CustomAdapter는 데이터 넣어주는 방식을 원하는 대로 설정이 가능하여 확장성이 높습니다.
저는 SimpleAdapter보다는 CustomAdapter사용하는것을 권장하며 추후에 스크롤간 데이터 섞이는 현상도
방지할 수 있습니다. (데이터가 많으면 스크롤간에 데이터 섞이는 현상 발생)
● SimpleAdapter를 이용한 ListView 생성
activity_main.xml 을 다음과 같이 작성해줍니다.
● MainActivity 작성
Simple Adapter를 이용한 ListView 생성은 간단한 소스코드로 생성이 가능했습니다.
간단한 뷰를 구현하는데에는 편리한 방식입니다.
하지만 내가원하는 ListView 디자인이 있는데 SimpleAdapter로는 만들수가 없습니다.
내가 Adapter를 만들어서 뿌려주고 싶다
CustomAdapter를 만들어줍니다.
● CustomAdapter를 이용한 ListView 생성
어플리케이션에 하나의 Adapter를 만들어 통일된 디자인과 기능을 사용한다면
CustomAdapter 하나의 클래스를 이용하여 사용하면 편리하지만
ListView 형태가 각각 다른 CustomAdapter라면 여러개의 CA를 선언해야합니다.
Adapter, ListVO 패키지를 만들어 줍니다.
생성된 패키지 내 ListViewAdapter, ListVO 클래스를 생성합니다.
ListViewAdapter를 다음과 같이 작성합니다.(CustomAdapter 입니다)
ListVO 입니다.
MainActivity.class
activity_main.xml
custom_listview.xml
custom_listview는 내가 원하는 listview의 디자인을 구성하시면 됩니다.
위 파일들을 모두 생성하였다면 drawable의 one two three 이미지를 넣어주면 됩니다.
혹시나 테스트해볼 이미지가 없다면 파일 이미지 다운 받으시고 복붙하시면됩니다.
마지막으로
프로젝트 전체 경로입니다.
다 만들어 보았으니 실행해봅시다.
● 결과
끝
'Android' 카테고리의 다른 글
[Android] RadioGroup, RadioButton 완벽정리 (1) | 2017.08.07 |
---|---|
[Android] 안드로이드 스튜디오 Getter and Setter 생성 (1) | 2017.08.07 |
[Android] Custom Dialog 만들기 (1) | 2017.08.04 |
[Android] AlertDialog를 이용한 다이얼로그 만들기 (0) | 2017.08.04 |
[Android] 안드로이드 GIF ImageView 넣기 (8) | 2017.07.31 |