341일차 - Android Paging3 (3)
2021. 12. 11. 22:50ㆍDiary/300~400
vm.awardPagingData.observe(viewLifecycleOwner, { data ->
lifecycleScope.launch {
data.collectLatest { awardAdapter.submitData(it) }
}
})
vm.certificationPagingData.observe(viewLifecycleOwner, { data ->
lifecycleScope.launch {
data.collectLatest { certificationAdapter.submitData(it) }
}
})
vm.volunteerPagingData.observe(viewLifecycleOwner, { data ->
lifecycleScope.launch {
data.collectLatest { volunteerAdapter.submitData(it) }
}
})
vm.gradePagingData.observe(viewLifecycleOwner, { data ->
lifecycleScope.launch {
data.collectLatest { gradeAdapter.submitData(it) }
}
})
life_record_viewpager.offscreenPageLimit = 1
val k = arrayListOf(awardAdapter, certificationAdapter, volunteerAdapter, gradeAdapter)
life_record_viewpager.adapter = ViewPagerAdapter(k)
life_record_viewpager.orientation = ViewPager2.ORIENTATION_HORIZONTAL
spring_dots_indicator.setViewPager2(life_record_viewpager)
spring_dots_indicator.setDotIndicatorColor(R.color.normal_black)
spring_dots_indicator.setStrokeDotsIndicatorColor(R.color.pink)
submitData를 통해 PagingData를
Adapter에 넣어주면 알아서 관리해준다.
그리고 ViewPager2를 통해
어댑터 자체의 스와이프 기능도 추가했다.
다른 어댑터와의 스와이프가
Paging3를 통해 아주 간결하게 이뤄진다.
다만, Paging3의 단점은
내부 Value를 보기 힘들다는 점이다.
중간중간 값을 뜯어보고 싶더라도
Paging의 Value는 뜯어볼 수 없다.
Adapter를 SnapShot를 찍어서 값을 보거나
Adapter에서 들어온 값을 확인하지 않는 이상은
중간에 값이 어떻게 들어오고 나가는지 확인할 수 없다.
아직은 많이 안써봐서
적용하는 방법만 익혔다.
이에 대한 깊은 지식은
차후에 점점 쌓아가야 할 것 같다.
'Diary > 300~400' 카테고리의 다른 글
343일차 - 빌더 패턴 (Builder Pattern) (2) (0) | 2021.12.13 |
---|---|
342일차 - 빌더 패턴 (Builder Pattern) (1) (0) | 2021.12.12 |
340일차 - Android Paging3 (2) (0) | 2021.12.10 |
339일차 - Android Paging3 (1) (0) | 2021.12.09 |
338일차 - 간단한 일기 (0) | 2021.12.08 |