【发布时间】:2012-03-07 11:06:38
【问题描述】:
我正在使用 API 级别 10 的 Android 兼容包。我有一个 FragmentActivity,在其 onCreate 方法中,我使用以下方法动态添加了一个新创建的 Fragment 实例 (myPagerFragment):
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, myPagerFragment).commit();
myPagerFragment 包含一个使用 FragmentPagerAdapter 的 ViewPager。该实现是根据 Android 文档进行的,没有什么特别之处。当单击 ViewPager 子 Fragments 中的一个按钮时,myPagerFragment 将被删除并替换为新的 Fragment 实例 (myOtherFragment),使用:
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
ft.replace(R.id.fragment_container, myOtherFragment).commit();
myOtherFragment 显示一个包含按钮的简单视图。单击此按钮时,myOtherFragment 将被删除并再次替换为 myPagerFragment 的新实例,使用:
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
ft.replace(R.id.fragment_container, myPagerFragment).commit();
此时,myPagerFragment 不再像开始时那样显示,而是显示一个空白屏幕。日志中没有崩溃,也没有任何用处。
我已经在其他视图中尝试过此方法,例如,将 myPagerFragment 替换为包含简单视图定义的 Fragment,并且可以正常工作且符合预期。只有包含 ViewPager 的片段在连续加载时显示不正确。
如何使包含 ViewPager 的片段始终正确显示?
【问题讨论】:
标签: android android-fragments android-viewpager android-support-library