当单击NavigationDrawer的项目时,主活动容器将片段切换为显示,直到我遇到以下情况为止,它工作正常:
1.切换到FragmentA,它包含一个VIEWPAGER,显示效果很好。
2.切换到片段B,片段B显示良好。
3.夹回到FragmentA,显示为空白视图
我试图在其上水平翻转,我可以看到viewpager索引确实发生了变化(在日志中),但是我不知道为什么它显示为空白页面。 *并且,如果片段A不包含viewpager,则效果很好
任何建议,将不胜感激。
我使用replace()在片段之间切换:
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, currentFragment)
.commit();
可能的原因可能是未使用replace
事务,而是您可能添加了片段并将其添加到Backstack。 尝试使用替换事务,看看它是否有效。
Fragment1 firstFragment = new Fragment1();
Bundle bundle = new Bundle();
firstFragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction()
.replace(R.id.article_fragment, firstFragment)
.commit();
了解有关将片段添加到堆栈的更多信息: Android片段事务:FragmentManager和Backstack