TodayILearned/Android&Kotlin
팀프로젝트 TIL
YJ_ILY
2023. 9. 6. 20:27
@Parcelize를 사용하기 위해서는 build.gradle에 아래와 같은 코드 추가
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-parcelize'
}
id 'kotlin-parcelize' 코드를 추가해주어야 함.
리사이클러 뷰
- 리사이클러 뷰는 RecyclerView클래스만으로는 화면에 아무것도 출력되지 않음
- 아래 3가지 구성 요소가 필수적으로 필요
- ViewHolder: 항목에 필요한 뷰 객체를 가짐
- Adapter: 뷰 홀더에 있는 뷰 객체에 적절한 데이터를 대입해 항목을 완성
- LayoutManager: 어댑터가 만든 항목들을 어떻게 배치할지 결정하여 리사이클러 뷰에 출력
- 리스트 뷰로 만들기 어렵거나 불가능한 목록 화면을 쉽게 만들 수 있음
어댑터
class MyAdapter (val binding: ItemMainBinding) :
RecyclerView.Adapter<RecyclerView.ViewHolder>() {
// 항목 개수를 판단하려고 자동으로 호출됨
override fun getItemCount(): Int {
TODO("Not yet implemented")
}
// 항목의 뷰를 가지는 뷰 홀더를 준비하려고 자동으로 호출됨
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyPageAdapter.Holder {
TODO("Not yet implemented")
}
// 뷰 홀더의 뷰에 데이터를 출력하려고 자동으로 호출됨
override fun onBindViewHolder(holder: MyPageAdapter.Holder, position: Int) {
TODO("Not yet implemented")
}
getItemCount() 함수가 반환한 숫자만큼 onBindViewHolder() 함수가 호출되어 항목을 만듦