【问题标题】:Android ViewPager not calling onDetach/onDestroy/onDestroyView for when being replaced in a containerAndroid ViewPager 在容器中被替换时不调用 onDetach/onDestroy/onDestroyView
【发布时间】:2015-07-13 14:24:32
【问题描述】:

我有一个 FrameLayout 容器,当从导航抽屉中选择一个项目时,我使用 replace 方法在其中放置一个片段。

getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment, fragment.getFragmentTag()).commit();

我有一个片段,其中有一个 ViewPager。我有 3 个片段,它们显示在带有 ViewPager 的选项卡布局中。当我从导航抽屉中选择另一个项目时,带有 ViewPager 的片段被替换,但其中的片段没有分离。系统只调用具有 ViewPager onDetach/onDestroy 等方法的 Fragment,而不调用它所包含的 Fragment 的方法。

我正在使用 FragmentPagerAdapter 并尝试使用 FragmentStatePager 适配器。没有什么变化。我使用的是默认的 setOffscreenPageLimit(1);

如何调用我的 ViewPager 片段方法 onDetach/onDestroy?

谢谢!

【问题讨论】:

    标签: android android-viewpager


    【解决方案1】:

    您使用的是 FragmentManager 还是子 Fragment Manager?如果您在另一个 Fragment 中创建一个 Fragment,并且您希望内部 Fragment 的行为与外部 Fragment 一样,您应该从外部 Fragment 获取子 Fragment 管理器并使用它来创建内部 Fragment。见this

    【讨论】:

    • 我给你买啤酒,真的! :) 非常感谢,这就是解决方案!
    • 两杯啤酒!谢谢!
    • 三杯啤酒!谢谢!
    • 四个啤酒!谢谢!
    • 五个啤酒!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    相关资源
    最近更新 更多