选择新选项后片段内容保持不变

Contents of fragment remain the same after selecting a new option

我正在实施一个 Android 项目,其中根导航是 DrawerLayout。当在抽屉中 selected 任何选项时,会根据选项 selected 显示不同的选项卡。我使用 this 教程实现了选项卡。但是,当我 select 一个不同的选项时,选项卡的标题和名称会发生​​变化,但内容仍然来自加载的初始选项卡。

每个选项卡都有自己的片段。我可能做错了什么?

这是我 select 注册选项的屏幕截图,新选项卡名称反映出来,但内容相同:

设置ViewPagerTabLayout的一些代码:

    ViewPagerAdapter adapter = new     ViewPagerAdapter((getSupportFragmentManager()));
    //find the elements that will hold the tabs
    viewPager = (ViewPager) findViewById(R.id.viewPager);
    tabLayout = (TabLayout) findViewById(R.id.tabLayout);
    //some switch case statements to add fragments to the adapter here
    //depending on what has been clicked in the nav drawer

    switch (selectedDrawerOption) {
        case R.string.drawer_registration:
            adapter.addFrag(new RegistrationFragment(), AppConst.TAB_PROOF);
            adapter.addFrag(new RegistrationFragment(), AppConst.TAB_STATUS);

            break;
        case R.string.drawer_news:
            adapter.addFrag(new FragmentNews(), AppConst.TAB_CAMPUS);
            adapter.addFrag(new FragmentNews(), AppConst.TAB_SUBJECT);
            break;
}
    viewPager.setAdapter(adapter);
    tabLayout.setupWithViewPager(viewPager);


在我填充适配器的地方之间有一个 switch case 语句。

您没有将片段添加到选项卡。在该代码中,您所做的只是更改选项卡,而不是 viewpager 选项卡的内容。

在此 answer 中建议 ViewPagerAdapter 应该 extend FragmentStatePagerAdapter FragmentPagerAdapter这似乎解决了一些问题我现在可以单击 DrawerLayout 上的另一个项目并且选项卡名称和内容可以更改。