我正在实施一个根项导航为DrawerLayout
的Android项目。如果在抽屉中选择了任何选项,则会根据所选的选项显示不同的选项卡。我使用this教程实现了标签。但是,当我选择其他选项时,标签的名称和名称会发生变化,但内容仍然来自已加载的初始标签。
每个标签都有自己的片段。我能做错什么?
以下是我选择了注册选项并且新选项卡名称正在反映但内容相同的屏幕截图:
设置ViewPager
和TabLayout
的一些代码:
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语句。
答案 0 :(得分:0)
您没有将片段添加到选项卡。在该代码中,您所做的只是更改选项卡,而不是更改viewpager选项卡的内容。
答案 1 :(得分:0)
在此answer中,有人建议ViewPagerAdapter
应该extend
FragmentStatePagerAdapter
和不 FragmentPagerAdapter
这似乎可以解决我现在可以点击DrawerLayout
上的其他项目,并且标签名称和内容可以更改。