1. 기본 리싸이클러뷰(RecyclerView) 순서대로 아주 차근차근 만드는 방법을 알려주는 블로그 글
: medium.com/androiddevelopers/getting-to-know-recyclerview-ea14f8514e6
2. 헤더를 활용한 리싸이클러뷰 설명 글
medium.com/androiddevelopers/get-ahead-using-headers-in-recyclerview-2909a69b19
다만, Header 를 활용하긴 했는데 헤더 형태가 생각했던것과 다를 수 있다. 다음 그림을 참고 해보자
1. 구글 샘플에서 제공하는 헤더 형태 - 블로그 글이 참고하는 형태 | 2. 다른 형태의 리싸이클러뷰 헤더(header) |
이 블로그를 작성하신 분은 설명을 쉽게 잘 풀어주신다. :)
3. 리싸이클러뷰 내부 동작 방법
리싸이클러뷰 자체가 어떻게 동작하는지 알려준다. 다만, 아직 이해가 되지않은 부분이 있다.
blog.mindorks.com/how-does-recyclerview-work-internally
설명 예시
1. RecyclerView 화면에 5개의 데이터를 보여준다.
2. 데이터셋은 10개가 있다.
리싸이클러뷰가 처음 생성될때 화면에 보이는 아이템 5개와 다음에 보여줄 6번째 아이템까지 총 6개의 뷰홀더가 생성 된다. 그리고 스크롤를 내리게되면 다음과 같이 구성이 된다고 이해하는 중이다.
생성 초기
- 보이는 화면 아이템 5개
- 보이지 않는 화면 아래 아이템 1개
스크롤 진행 후
- 보이지 않는 화면 위 아이템 1개
- 보이는 화면 아이템 5개
- 보이지 않는 화면 아래 아이템 1개
즉, 스크롤 이후에는 7개의 뷰홀더가 생성된다. 참고로 이 부분을 공부할때 Scrapped View, Dirty View에 대한 이해가 필요하다. 보였다가 보이지 않게되는 뷰가 Scrapped View에 속하게 되며 해당 뷰에서 재활용 되는 뷰가 Dirty View 가 되어서 재활용이 된다고 보면 된다. 그런데 저 글에서 설명하는 item X 라는 아이템이 이해가 되질 않는다. 몇번을 보고 또 보는데도 잘 이해가 안되는 현실...... 😭
추가적으로 비슷한 내용의 리싸이클러뷰 동작 방법에 대한 글을 번역한 포스팅이 있다. 참고하면 좋다. 그러나 item X 라는 개념은 여전히 모르겠다.. 😭
'Dev > Android' 카테고리의 다른 글
include 의 레이아웃에 DataViewBinding 적용 참고 (0) | 2021.04.06 |
---|---|
Android 기본 개념 정리 (0) | 2021.03.11 |
안드로이드 업데이트가 거부후 재업로드 시간이 이렇게 오래걸려?! (0) | 2021.02.09 |
전화, SMS 권한 설정 업데이트 거부(리젝) 되었습니다 ㅠ (2) | 2021.02.05 |
안드로이드 빌드 타입별로 나누는 방법 - BuildTypes (0) | 2021.01.29 |