Содержимое макета вкладки не отображается внутри макета фрагмента


У меня есть BottomNavigationView, и он имеет три вкладки. И один BottomNavigationView содержит TabLayout. Мой вопрос заключается в том, почему содержание TabLayout не отображается. Отображаются только заголовки вкладок.

Это один фрагмент XML.

 <android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/txt_profile_about_me"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:textAlignment="viewStart"
        android:textSize="12sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txt_gathring_count" />



    <android.support.design.widget.TabLayout
        android:id="@+id/profile_tabs"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"

        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txt_profile_about_me"
        app:layout_constraintVertical_bias="1.0"
        />

    <android.support.v4.view.ViewPager
        android:id="@+id/profile_viewpager"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@android:color/white"/>

</android.support.constraint.ConstraintLayout>

И мой код следующий.

    ViewPager viewPager = (ViewPager) view.findViewById(R.id.profile_viewpager);
        ProfileTabAdapter adapter = new ProfileTabAdapter(getChildFragmentManager());

        // Set the adapter onto the view pager
        viewPager.setAdapter(adapter);

        // Give the TabLayout the ViewPager
        TabLayout tabLayout = (TabLayout) view.findViewById(R.id.profile_tabs);
        tabLayout.setupWithViewPager(viewPager);

Содержимое вкладки не отображается. любой Совет.

2 3

2 ответа:

Правильно ограничьте ваш видоискатель.

Попробуйте это:

    <android.support.v4.view.ViewPager
    android:id="@+id/profile_viewpager"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@android:color/white"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/profile_tabs"
    app:layout_constraintBottom_toBottomOf="parent"/>

В вашем TabLayout, ширина 0dp, который не будет показывать вкладки, я полагаю.

Также, то же самое для ViewPager, но с высотой и шириной.

Задайте ViewPager высоту и ширину match_parent. Надеюсь, это поможет.

Также, возможно, добавив a:

app:layout_constraintTop_toBottomOf="@+id/profile_tabs"

К ViewPager должно показать содержание.