Как исправить ошибку View Pager.Это работает только после того, как я нажимаю кнопку «Назад» Android

#android

#Android

Вопрос:

Я создаю демонстрационный проект, я новичок в Android. Я столкнулся с проблемой view pager. Страница заморожена. Это работает только после того, как я нажму кнопку «Назад»

Я удалил View pager, и приложение работает нормально.

XMLLayout

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_margin="5dp">

    <android.support.design.widget.TabLayout
        android:id="@ id/view_pager_tab"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="fixed"
        app:tabGravity="fill" />

    <android.support.v4.view.ViewPager
        android:id="@ id/vpPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="5dp">

    </android.support.v4.view.ViewPager>
</LinearLayout>
  

Java-код

 public class PortfolioFragment extends BaseFragment {

MyPagerAdapter adapterViewPager;



public class MyPagerAdapter extends FragmentStatePagerAdapter {
    private int NUM_ITEMS = 3;
    String tabname[]=new String[]{"Apps","Websites","Upcoming"};

    MyPagerAdapter(FragmentManager fragmentManager) {
        super(fragmentManager);
    }


    @Override
    public int getCount() {
        return NUM_ITEMS;
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                return new AppFragment();
            case 1:
                return new WebsitesFragment();
            default:
                return new UpcomingFragment();

        }
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return tabname[position];
    }

}


@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_portfolio, container, false);
    ViewPager vpPager =view.findViewById(R.id.vpPager);
    TabLayout tabLayout =view.findViewById(R.id.view_pager_tab);
    tabLayout.setupWithViewPager(vpPager);
    adapterViewPager = new MyPagerAdapter(getChildFragmentManager());
    vpPager.setAdapter(adapterViewPager);
    return view;

}
  

Я ожидаю, что он будет работать без нажатия кнопки «Назад»

Комментарии:

1. Как выглядит ваша активность?

2. В моем MainActivity есть нижний ящик навигации, который перемещается к этому фрагменту портфолио, и здесь я хочу добавить view pager с тремя вкладками.