RecyclerView (ListView와 차이, clickEvent 어디에?)

상상코딩·2021년 8월 21일
0

안드로이드

목록 보기
1/21

recycler view란?

데이터 집합들을 개별 아이템 단위로 구성하여 화면에 출력해주는 뷰 그룹. 리스트 형태로 표시해주는 위젯. 동일한 형식을 갖는 리스트들을 구현할 때 주로 사용.

1. ListView와 차이점은?

가장 큰 차이점은 재사용성!!!

ListView: 리스트 개수 만큼 getView()를 호출

RecyclerView: ViewHolder로 만든 객체를 재사용
= 일정 개수만큼의 뷰만 만들고 재활용
= getView()는 일정개수만큼만하고 만들어진 뷰 객체에 데이터만 갈아끼움.
= onCreateViewHolder는 일정개수번 불리고, onBindViewHolder는 데이터 수만큼 불림.

getView() 많이 하는게 비효율적인 이유: (getView()는 id와 매치되는 View를 찾기 위해 parent→child를 다 돌게됨)

🧐 클릭이벤트는 어디에 있는게 좋아요?

굳이 데이터를 넣어줄 때마다 이벤트처리해줄 필요가 없으므로
-> 뷰홀더 객체를 만들때 해주자
(ViewHolder생성자 / Adapter의 onCreateViewHolder 에서용)

2. RecyclerView의 필요조건

  • ViewHolder
    각각의 뷰를 담는 객체.
  • LayoutManager
    아이템 배치 담당(Linear, Grid, StaggeredGrid)
profile
히히낙낙

0개의 댓글