2020. 12. 22. 13:50ㆍAndroid
이미지 출처: dev.to/jbc7ag/recyclerview-or-listview-pros-cons-and-examples-with-kotlin-2nb2
Recycer View를 쓰는 이유?
- 화면에 보이는 뷰(아이템)을 화면이 갱신될 때마다(스크롤이 움직일 때마다?) 생성/삭제 하지 않고 상단의 사라질 뷰를 재활용(Recycle) 함으로써 메모리를 굉장히 절약한다.
*setIsRecyclable(false) 시 뷰를 재활용하지 않아 스크롤이 매우 버벅이는것을 체감할 수 있다.
onCreateViewHolder
- 각 아이템을 위해 정의한 xml레이아웃을 뷰 객체로 만들어줌.
- 이 후 객체를 반환하면서 ViewHolder에서 레이아웃을 참조할 수 있도록 도와줌.
- RecyclerView에 보이는 레이아웃을 구성하고 설정하고 인플레이션 해주는 메소드.
onBindViewHolder
- 내부의 한정된 용량이 있기 때문에 매번 뷰 홀더를 다 만들지 않음.
- onCreateViewHolder를 통해 생성한 뷰 객체를 재활용해 데이터만 바꾸는 형식
- ViewHolder 클래스에 새로운 데이터를 담아 설정해 같은 객체에 다른 데이터를 포함함.
getItemCount
- 아이템이 생성될 개수
getItemViewType
- position값과 getItemCount에 사용되는 리스트의 크기를 이용해 할당되는 뷰의 type을 판단할 수 있다.
ex) if (position == items.size() - 1) return TYPE_FOOTER;
-> footerview일 때는 아이템의 레이아웃을 다른 종류의 레이아웃으로 할당해주거나 할 때 매우 유용.
'Android' 카테고리의 다른 글
keystore를 base64로 변환하기.. (0) | 2021.01.14 |
---|---|
A프래그먼트에서 B프래그먼트의 메소드 호출 (0) | 2021.01.06 |
원인 모를 에러... (0) | 2020.12.23 |
앱 좋은 평점 받기 8단계 비법! (0) | 2020.12.22 |