情境: 我在片段中使用ViewPager。此ViewPager使用FragmentPagerAdapter膨胀3个片段(AFragment,BFragment,CFragment)。
我在里面打印了日志 onCreateOptionsMenu onPrepareOptionsMenu 所有3个片段。
问题:
对于在onCreateOptionsMenu上创建的AFragment仅被调用一次, 但是当我刷到BFragment onCreateOptionsMenu和 forPrepareOptionsMenu for BFragment被调用了两次。和类似的 事情发生在CFragment。
任何人都可以解释为什么会这样,以及如何避免它? 感谢。
答案 0 :(得分:0)
因为android默认情况下会在后台加载下一个和上一个片段,以便有效加载片段并消除滞后。
但是,您可以使用setOffscreenPageLimit(int limit)自定义相同内容,用于设置要在后台加载的额外片段的数量。默认情况下,它设置为1。
阅读Android fragments strange load了解更多信息