RecyclerView(리사이클러뷰)

Ji·2021년 8월 10일
0

앱 개발 과정 중, 데이터 집합을 불러올 일이 생겼다. 이때 사용되는 리사이클러뷰 (RecyclerView)에 대해서 알아보려고 한다.

리사이클러 뷰

  • 많은 수의 데이터 집합을, 제한된 영역 내에서 유연하게(flexible) 표시할 수 있도록 만들어주는 위젯
  • 예전에는 리스트뷰를 많이 사용. but 스크롤 할 때마다 가장 위의 아이템을 삭제하고 가장 아래에 아이템은 생성되는 과정을 거치는데, 이러한 반복으로 인해 cost가 높아짐.
  • 리사이클러 뷰는 가장 위 아이템을 삭제 X 가장 아래의 아이템 쪽으로 이동시켜 재사용함. (cost 줄일 수 있음)

리사이클러 뷰의 생성 순서

1. 리사이클러 뷰가 표시될 위치 결정 (액티비티에 RecyclerView 추가)
-> 어떤 뷰에 리사이클러 뷰를 올릴지 선택한다.

2. 리사이클러 뷰 아이템 배치 형태 결정 (아이템 뷰 화면 설계 및 LayoutManager를 선택한다)

3. 아이템 뷰 레이아웃 구성 (XML 작성)
-> 리사이클러 뷰에 들어가는 아이템을 정함. XML 정의. (ex) textview, imageview 배치..

4. 아이템 데이터 클래스 정의
-> 아이템의 객체를 만들어줌. (get set 구문 이용)

5. 어댑터 상속 및 구현 (extends RecyclerView Adapter)

6. 뷰홀더 상속 및 구현 (extends RecyclerView.ViewHolder)

  • 뷰홀더: 리사이클러뷰는 스크롤을 밑으로 내릴 때, 가장 위에있던 뷰를 아래로 이동시켜 재활용(recycle)함. 따라서 생성된 뷰 객체에서만 데이터가 수정이 되면 됨. 즉, 객체를 재사용하는 것이고 재사용 되는 객체에 있는 데이터는 계속해서 바뀜. 따라서 맨 처음 뷰 객체를 holding할 객체가 필요함. 이것이 뷰홀더.

7. 어댑터 생성 및 지정 (RecyclerView.set
Adapter())

  • 어댑터: 여러 아이템을 리사이클러뷰에 binding 시켜주기 위한 사전작업을 해주는 객체.

8. 레이아웃 매니저 생성 및 지정 (RecyclerView.setLayoutManager())

9. 데이터 추가 + 아이템 표시 (RecyclerView.Adapter.notifyDataSetChanged())

Reference
https://www.crocus.co.kr/1704

profile
공부방

0개의 댓글

관련 채용 정보