Dev/Android

[Step-By-Step] 하나씩, 안드로이드 개발 - RecyclerView

healthyryu 2021. 2. 26. 14:01

1. 기본 리싸이클러뷰(RecyclerView) 순서대로 아주 차근차근 만드는 방법을 알려주는 블로그 글
: medium.com/androiddevelopers/getting-to-know-recyclerview-ea14f8514e6

 

Getting to know RecyclerView

RecyclerView is a powerful UI widget that allows you to display a list of data in a flexible manner. When I was learning about…

medium.com

 

2. 헤더를 활용한 리싸이클러뷰 설명 글

medium.com/androiddevelopers/get-ahead-using-headers-in-recyclerview-2909a69b19

 

Get ahead using headers in RecyclerView

This is the fourth in a series of articles which cover the fundamentals of using RecyclerView. If you already have a solid understanding…

medium.com

다만, Header 를 활용하긴 했는데 헤더 형태가 생각했던것과 다를 수 있다. 다음 그림을 참고 해보자

1. 구글 샘플에서 제공하는 헤더 형태 - 블로그 글이 참고하는 형태 2. 다른 형태의 리싸이클러뷰 헤더(header)

 

이 블로그를 작성하신 분은 설명을 쉽게 잘 풀어주신다. :)

 

 

 

 

3. 리싸이클러뷰 내부 동작 방법

리싸이클러뷰 자체가 어떻게 동작하는지 알려준다. 다만, 아직 이해가 되지않은 부분이 있다.

blog.mindorks.com/how-does-recyclerview-work-internally

 

How does RecyclerView work internally?

In this blog, we are going to talk about how recyclerView works internally and how the recycling of views happen. We would also discuss the benefit of using viewholders in recyclerView.

blog.mindorks.com

설명 예시

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 라는 개념은 여전히 모르겠다.. 😭

medium.com/hongbeomi-dev/%EB%B2%88%EC%97%AD-recyclerview%EC%9D%98-%EB%82%B4%EB%B6%80-%EB%8F%99%EC%9E%91-941a2827fa5a

 

[번역] — RecyclerView의 내부 동작

본 글을 Niharika Arora님의 글을 한국어로 번역한 글입니다. 원문 링크👇

medium.com

 

반응형