TodayILearned/Android&Kotlin
앱개발 숙련 TIL - CustomView, RecyclerView
YJ_ILY
2023. 8. 24. 20:49
커스텀 항복 뷰(CustomView)
- 내가 원하는 뷰를 조합을 해서 만들 수 있음
- 다수의 문자열이나 이미지를 포함할 수 있음
커스텀 항목 뷰 설정 절차
- 커스텀 항목을 위한 xml 레이아웃 정의
- 항목 관련 데이터 클래스 정의
- 어댑터 클래스 정의
- 메인화면 레이아웃에 ListView 위젯 정의
- 어댑터를 생성하고 어댑터뷰 객체에 연결
*데이터 클래스?
data class MyItem(val aIcon:Int, val aName:String, val aAge:String) {}
데이터를 다루는데 최적화된 클래스
equals(), hashCode(), toString(), copy(), componentN()
위의 5가지 함수들을 내부적으로 자동으로 생성함
리사이클러 뷰(RecyclerView)
- 한정적인 화면에 많은 데이터를 넣을 수 있는 뷰
- View를 재활용해서 사용하겠다는 뜻
- 예를 들어 아이템이 100개여도 10개 정도의 뷰만 만들고 만든 10개의 뷰를 재활용해서 사용
- 뷰를 계속 만들어야하는 ListView의 단점을 보완, 성능이 훨씬 좋음
리사이클러 뷰 사용
- Adapter
- 데이터와 리사이클러뷰 사이의 통신을 위한 연결체
- 데이터를 다양한 형식의 리스트 형식을 보여주기 위해서 데이터와 리사이클러 뷰 사이에 존재하는 객체
- ViewHolder
- 화면에 표시될 데이터나 아이템들을 저장하는 역할
- 스크롤 해서 위로 올라간 View를 재활용하기 위해서 View를 기억하고 있어야 하는데 그 역할을 하는 것이 ViewHolder