RecyclerView 클래스만으로는 화면에 아무것도 출력되지 않기 때문에 다음과 같은 구성요소를 이용해야 함.
(필수)
ViewHolder: 항목에 필요한 뷰 객체를 가집니다.
Adapter: 뷰홀더에 있는 뷰 객체에 적절한 데이터를 대입해 항목을 완성합니다.
LayoutManager: 어댑터가 만든 항목을 어떻게 배치할지 결정하여 리사이클러 뷰에 출력합니다.
(선택)
ItemDecoration: 항목을 꾸밉니다.
어댑터에서 재정의해야 하는 함수
getItemcount(): 항목 개수를 판단하려고 자동으로 호출됩니다. / 이 함수가 반환한 숫자만큼 onBindViewHolder() 함수가 호출되어 항목을 만듭니다. 만약 이 함수가 0을 반환하면 화면에는 아무것도 나오지 않습니다.
onCreateViewHolder(): 항목의 뷰를 가지는 뷰 홀더를 준비하려고 자동으로 호출됩니다. / 항목을 구성할 때 이용할 뷰 홀더 객체를 준비합니다.
onBindViewHolder(): 뷰에 데이터 출력. onCreateViewHolder() 함수에서 반환한 뷰 홀더 객체는 자동으로 onBindViewHolder() 함수의 매개변수로 전달됩니다.
[Android] 코틀린과 ViewPager2로 미리보기 + 자동 무한 스크롤 기능 구현하는 법
https://onlyfor-me-blog.tistory.com/495
내가 코드작성에 직접적으로 참고했던 사이트
코틀린 viewPager2 : 사용법, 애니메이션 등
https://todaycode.tistory.com/26
사람들이 가장 많이 참고하는 사이트
Android ViewPager2 / Infinite Scroll (무한 스크롤) / Auto Scroll (자동 스크롤)
https://bumjae.tistory.com/65
[배달의 민족] 따라만들기 8-2편 (Repository, ViewModel, MVVM)
https://programmar.tistory.com/40
[Android/Kotlin] ViewPager와 간단한 자동 슬라이드 적용
https://wtg-study.tistory.com/87
Viewpager2 배너 + 자동으로 슬라이딩 구현
https://jyeonnyang2.tistory.com/133