在android中使用FragmentActivity调用所有Fragment onCreateView方法吗?

时间:2013-03-12 02:00:16

标签: android fragment android-fragmentactivity

我使用FragmentActivityViewPagerAdapterFragment来构建标签格式。我的FragmentActivity中有3个标签。我很困惑,在调用Fragment方法或调用选项卡的onCreateView onCreateView方法时是否调用了所有FragmentActivity onClick方法?我已为我的所有3 onCreateView设置了3个断点Fragments方法。在调试期间,我发现只调用了前2个onCreateView方法。请解释为什么只有2个被叫?

2 个答案:

答案 0 :(得分:1)

ViewPagerAdapter将根据用户需求管理创建片段和销毁片段。因此,如果您未设置 mViewPager.setOffscreenPageLimit(NUM_TABS-1),则默认值为1(您可以参考here

这就是为什么它只创建前2个选项卡,当你选择tab3时,它会破坏tab1的片段并创建tab3的片段。对于你的情况,如果你在调试时设置 mViewPager.setOffscreenPageLimit(2) ,你会看到它调用3 onCreateView方法,不会破坏任何片段的视图。希望这有帮助。

答案 1 :(得分:0)

根据用户需求创建和销毁它们。如果滚动到第二个片段,您将看到它已创建。这只是一个优化。您是否认为具有例如8个片段的应用程序需要将8个片段保留在内存中?这将浪费资源。