我有一个FrameLayout容器,当从导航抽屉中选择一个项目时,我使用replace方法放置一个片段。
getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment, fragment.getFragmentTag()).commit();
我有一个包含ViewPager的片段。我有3个片段,使用ViewPager以标签布局显示。当我从导航抽屉中选择另一个项目时,将替换ViewPager中的片段,但其中的片段不会分离。系统只使用ViewPager onDetach / onDestroy等方法调用片段,但不调用它包含的片段的方法。
我正在使用FragmentPagerAdapter,我尝试使用FragmentStatePager适配器。没有什么变化。我使用默认的setOffscreenPageLimit(1);
我怎样才能在我的ViewPager片段方法上调用onDetach / onDestroy?
谢谢!
答案 0 :(得分:11)
您使用的是FragmentManager还是子片段管理器?如果在另一个Fragment中创建一个Fragment,并且你希望内部Fragment的行为与外部一样,你应该从外部片段获取子片段管理器并使用它来创建内部片段。请参阅this。