원래 ViewPager2 이전에 ViewPager가 있었는데 deprecated되고 새로운 버전이 새로 나왔다.
차이점은 이름과 Adapter를 만들때 Adapter가 상속받는거 정도..?
ViewPager2의 Adapter를 만들땐 보통 FragmentStateAdapter() 를 상속받아 만든다.
class FragmentAdapter(
fragmentActivity: FragmentActivity,
val tabCount: Int
) : FragmentStateAdapter(fragmentActivity) {
override fun getItemCount(): Int {
TODO("Not yet implemented")
}
override fun createFragment(position: Int): Fragment {
TODO("Not yet implemented")
}
근데 Fragment를 구현하는 것 자체가 비용을 많이 잡아먹어 탭바를 만들 때 간단한 페이지를 보여주는 것이면 PagerAdapter()를 상속해서 만드는것이 좋다.
class ViewPagerAdapter(
val layoutInflater: LayoutInflater
val tabCount : Int
) : PagerAdapter(){
override fun getCount(): Int {
TODO("Not yet implemented")
}
override fun isViewFromObject(view: View, `object`: Any): Boolean {
TODO("Not yet implemented")
}
}
override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
super.destroyItem(container, position, `object`)
}
override fun instantiateItem(container: ViewGroup, position: Int): Any {
return super.instantiateItem(container, position)
}