이 글은 이것이 안드로이드다 with 코틀린(개정판)를 참고하여 작성하였습니다.
작성자 : 김현주
개발환경은 Windows, Android Studio입니다.
1. RecylerView?
앱에서 관리되는 데이터 집합을 화면에 유연하게 표시할 때 사용되는 뷰 그룹(View Group)
Ex)
2. Android Studio를 통한 구현
엑티비티 메인 > 리사이클뷰 (컴포넌트 가져옴) > 기본적으로 ID와 Constraint 설정 // 타이틀 : RecycleView
RV 아래에 item 목록
Item에 먹이는 view를 생성하기 위해
res 디렉터리에서 필요한 xml 생성. Ex) item_recycler
현재 레이아웃에서 textView 3개를 넣은 뒤
속성의 weight값을 1 5 3으로 먹인 상태. (전체 9)
* Layout_width 값을 0dp 설정해야 비율이 적용됨
orientation 속성을 center_vertical로,
텍스트뷰의 ID를 각각 textNo, textTitle, textDate로 바꿔준 레이아웃 상태
*text 속성을 알아보기 좋게 정리. (컴포넌트 아님 textView 컴포넌트의 text 속성임)
Item에 (함수를 통해)의도하는 바를 먹이는 (데이터를 뿌려주는) 데이터 클래스를 생성
어댑터 만들기
어댑터가 홀더를 가지고 item layout에 값을 세팅하기 위함.
화면에 보이는 만큼만 item 생성해놓고 스크롤하면
Item 1부터 재사용 : RecyclerView
*Inflate는 LayoutInflater, parent, attachToparent 인자 있는거로 사용
논리 :
onCreateViewHolder 생성
getItemCount 카운팅
onBindViewHolder 재사용 > 메모리 절약 *****
***왕중요
아이템에 대한 클릭동작 : 리스너를 달지말고
Init을 통해서만 먹임
*** setMemo 같은 내에서 리스너 binding하면 앱 터짐 (드래그 할 때마다 동작 호출되니까)
currentMemo를 사용하여 (스크롤 뷰에도 먹이고) memo클래스가 가진 모든데이터 사용가능
'GDSC HUFS 3기 > Android with Kotlin Team 2' 카테고리의 다른 글
[2팀] 31 - 화면 구성하기: 프래그먼트 (0) | 2021.11.05 |
---|---|
[2팀] 27 - entry point, 액티비티값 주고받기 (0) | 2021.11.03 |
[2팀]28, 32 - 화면 구성하기: 스피너(Spinner), 프래그먼트(Fragment)끼리 값 주고받기 (0) | 2021.11.03 |
[2팀] Kotlin Section7_OOP(1) (1) | 2021.10.05 |
[2팀] Kotlin Section 6 - Decisions and Loops (0) | 2021.10.04 |