【问题标题】:Parent Fragment Not Displaying Child ViewPager父片段不显示子 ViewPager
【发布时间】: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


    【解决方案1】:

    您不能在片段中嵌套片段。因此,您不能将FragmentPagerAdapter 放入ViewPager 中的Fragment。请重新设计您的 UI 以解决此冲突,例如去掉最外层的 Fragment

    【讨论】:

    • 请注意,嵌套的Fragments 现在可用,请参阅this question
    猜你喜欢
    • 1970-01-01
    • 2015-10-16
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多