RecyclerView 란?

shin_stealer·2021년 8월 21일
0

본 게시글은 android developer 의 공문을 개인 공부용으로 필요한 부분만 번역해 본 글입니다.

https://developer.android.com/guide/topics/ui/layout/recyclerview

리사이클러뷰는 많은 양의 데이터를 표시하는데 효율적으로 사용된다.

이름에서 암시하듯 리사이클러뷰는 각각의 요소를 재활용할 수 있다.
화면을 아래로 스크롤하여 item 이 screen 밖으로 벗어낫을 때, 리사이클러뷰는 해당 item 의 view를 파괴하지 않는다. 대신, scroll 후에 새로운 item 을 화면에 표시할 때 view를 재사용하게 된다. 이것은 app의 반응과, 전력소비를 줄이는데 큰 도움이 된다.

리사이클러뷰에 들어가는 리스트의 각 element 는 view holder 라는 객체 에 의해 정의된다. view holder가 created 되었을 때에는 어떤 데이터도 들어가있지 않은 상태이다. 이 후에는 view holder 객체에 data를 bind 하게 된다.

리사이클러뷰에서 view holder 를 만들고 data를 view 에 bind하는 과정은 adapter 에서 이뤄진다.

layout manager 를 사용하면 리스트의 각 element를 어떤 방식으로 정돈해서 보여줄 것인지 정할 수 있다 (vertical, horizontal, gird, etc..)

Implementing your adapter and view holders

리사이클러 뷰의 adapter를 정의하게 되면 아래 세 가지의 key method 를 override 해야한다.

  1. onCreateViewHolder()
  • 이 메서드는 리사이클러뷰에서 새로운 viewHolder를 만들어야할 때 항상 호출된다. 이 메서드는 ViewHolder 객체와 연결할 view 를 create 하고 initailize 하는 역할을 한다. 하지만, view 에 들어갈 내용 (data)는 채워져있지 않은 상태이다.
  1. onBindViewHolder()
  • 이 메서드는 ViewHolder 객체와 표시될 data를 연결하는 역할을 한다. 이 메서드에서는 리스트에 출력할 data를 불러오고, view holder의 layout에 data를 채운다.
  1. getItemCount()
  • 이 메서드를 사용하면 리사이클러뷰에 사용되는 data의 size를 얻을 수 있다.
profile
I am a Blacksmith.

0개의 댓글