RecyclerView 구성요소
RecyclerView(리사이클러 뷰): 많은 수의 데이터 집합을 제한된 영역 내에서 유연하게 표현해주는 위젯
- 기존 리스트뷰에서 유연함과 성능을 더한 개선판이라고도 볼 수 있음
Adapter(어댑터): 리사이클러뷰에 표시될 아이템뷰를 생성하는 역할
LayoutManager(레이아웃 매니저): 리사이클러뷰가 아이템을 화면에 표시할 때, 아이템 뷰들이 리사이클러뷰 내부에서 배치되는 형태를 관리
- LinearLayoutManager, GridLayoutManager, StaggeredGridLayoutManager 등
ViewHolder(뷰홀더): 화면에 표시될 아이템 뷰를 저장하는 객체로, 어댑터에 의해 관리됨
- 어댑터가 한번 생성한 후, 생성된 뷰홀더 객체를 재활용함, 데이터가 뷰홀더의 아이템 뷰에 바인딩 됨
RecyclerView 기본 사용법
1. 메인 액티비티 레이아웃에 리사이클러뷰 추가 (activity_main.xml)
2. 리사이클러뷰에 표시될 아이템뷰 레이아웃을 추가 (recyclerview_item.xml)
3. RecyclerView.Adapter를 상속받아 리사이클러뷰 어댑터 구현 (Adapter.java)
- onCreateViewHolder(ViewGroup, int viewType) : viewType형태의 아이템 뷰를 위한 뷰홀더 객체 생성 <뷰홀더 생성>
- onBindViewHolder(ViewHolder holder, int position) : position에 해당하는 데이터를 뷰홀더 객체의 아이템뷰에 표시 <데이터 표시>
- getItemCount(): 전체 아이템 갯수 리턴
4. 어댑터 생성 & 레이아웃 매니저 객체 생성 (MainActivity.java)
- 리사이클러뷰에 표시할 데이터 리스트 생성
- 리사이클러뷰에 레이아웃 매니저 객체 지정 : setLayoutManager(new LinearLayoutManager(this)); //수직방향 나열
- 리사이클러뷰에 어댑터 객체 지정 : setAdapter(adapter);
'Android > Project' 카테고리의 다른 글
[Cafe In] 기록 #2: Retrofit2 (0) | 2022.03.02 |
---|---|
[Cafe In] 기록 #1 (0) | 2022.02.17 |
ViewPager2의 Fragment 데이터 받기 (Bundle 이용) (0) | 2021.08.07 |
Spinner & DatePicker 사용해 시간/날짜 입력받기 (0) | 2021.08.05 |
ViewPager2 로 여러 개의 뷰 슬라이드 구현 (0) | 2021.08.04 |