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

时间:2016-05-02 17:17:07

标签: android android-fragments android-viewpager android-tablayout

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

每个标签都有自己的片段。我能做错什么?

以下是我选择了注册选项并且新选项卡名称正在反映但内容相同的屏幕截图:enter image description here

设置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语句。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

在此answer中,有人建议ViewPagerAdapter应该extend FragmentStatePagerAdapter FragmentPagerAdapter这似乎可以解决我现在可以点击DrawerLayout上的其他项目,并且标签名称和内容可以更改。