ViewPager не отрисовывается | Kotlin

Есть TabsLayout и ViewPager. Они работают, но как-то через раз. Бывает, что отображается сразу, но иногда надо нажать на кнопку. Также бывает, что вторая из трех кнопок не работает.

Использую свой ViewPager для правильного расчета высоты:

class ExtendedViewPager : ViewPager {

constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet) : super(context, attrs)

override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
    var height = 0
    var heightMS = heightMeasureSpec
    for (i in 0 until childCount) {
        val child: View = getChildAt(i)
        child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED))
        val h: Int = child.measuredHeight
        if (h > height) height = h
    }

    if (height != 0) {
        heightMS = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
    }

    super.onMeasure(widthMeasureSpec, heightMS)
}
}

Инициализарую:

tabs.addTab(tabs.newTab().setText("НЕДЕЛЯ"))
    tabs.addTab(tabs.newTab().setText("МЕСЯЦ"))
    tabs.addTab(tabs.newTab().setText("ГОД"))
    tabs.tabGravity = TabLayout.GRAVITY_FILL

    val adapter = context?.let {
        fragmentManager?.let { it1 -> ViewPagerAdapter(it, it1, tabs.tabCount) }
    }
    tabsview.adapter = adapter
    tabsview.addOnPageChangeListener(TabLayout.TabLayoutOnPageChangeListener(tabs))
    tabs.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
        override fun onTabSelected(tab: TabLayout.Tab) {
            tabsview.currentItem = tab.position
        }
        override fun onTabUnselected(tab: TabLayout.Tab) {}
        override fun onTabReselected(tab: TabLayout.Tab) {}
    })

ViewPagerAdapter:

class ViewPagerAdapter(var context: Context, fm: FragmentManager, private var totalTabs: Int) : FragmentPagerAdapter(fm) {
override fun getItem(position: Int): Fragment {
    return when (position) {
        0 -> {
            Weekly()
        }
        1 -> {
            Month()
        }
        2 -> {
            Year()
        }
        else -> getItem(position)
    }
}
override fun getCount(): Int {
    return totalTabs
}
}

Ответы (0 шт):