Tablayout не работает с viewpager. В чем может быть проблема в следующем коде? - PullRequest
0 голосов
/ 10 марта 2020

Следующий код не устанавливает вид пейджер с макетом вкладки. В чем может быть проблема? Фрагмент показывает отлично, но макет вкладки не перемещается с пейджером представления.

Мой фрагмент

       val pagerAdapter =
        MySecondPagerAdapter(
            childFragmentManager,
            fragments// arraylist of fragments
        )

    viewPager.pageMargin = dpToPx(10)
    viewPager.adapter = pagerAdapter
    tab.setupWithViewPager(viewPager)

И мой адаптер

    class MySecondPagerAdapter(
    fm: FragmentManager?,
    fragments: ArrayList<Fragment>
     ) : FragmentStatePagerAdapter(fm!!, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { //also I used 
    FragmentPagerAdapter
    private var mFragments =
        ArrayList<Fragment>()

    override fun getItem(position: Int): Fragment {
        return mFragments[position]
    }

    override fun getCount(): Int {
        return mFragments.size
    }

    init {
        mFragments = fragments
    }
}

И это мой макет

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <androidx.viewpager.widget.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="250dp" />

        <com.google.android.material.tabs.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/tab_selector"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            app:tabGravity="center"
            app:tabIndicatorHeight="0dp"
            app:tabMaxWidth="10dp" />
             </linearlayout>

В чем может быть проблема?

...