如何在android中切换不同的选项卡(如tab1,tab2)时停止调用onCreateView?

时间:2013-10-25 07:40:27

标签: android fragment

我有一个问题,MainActivity底部的标签栏(扩展FragmentActivity), 当我启动应用程序时,fragment1(在tab1中)和fragment2(在tab2中)将调用onCreateView, 和每个fragent中的一些加载操作(如扫描的东西),但我不知道如何 当我切换两个标签时停止呼叫onCreateView,我只想保持加载状态,即使我从另一个切换。

我如何实现它(只是使用这种方式,我不想使用tabhost)?

3 个答案:

答案 0 :(得分:5)

Fragment.onCreateViewfragment lifecycle的标准部分,您不应该试图阻止它被调用。

据我所知,你的onCreateView方法可能正在做一些丑陋的工作,这就是你不想要它被调用的原因。如果是这种情况,您应该将此代码移动到另一个不经常调用的生命周期方法(例如onCreateonActivityCreated,如果您还需要活动上下文)。

onCreateView应仅用于扩充您的布局,并可能引用您需要与之交互的ui组件。

答案 1 :(得分:5)

如果您在setOffscreenPageLimit(2)上致电ViewPager,则只会在开始时调用onCreateView

答案 2 :(得分:0)

开始在onCreate或onAttach方法中加载,然后不会使用onCreateView重新启动它。 http://developer.android.com/guide/components/fragments.html 这个页面有片段生命周期。