我有一个问题,MainActivity
底部的标签栏(扩展FragmentActivity
),
当我启动应用程序时,fragment1(在tab1中)和fragment2(在tab2中)将调用onCreateView
,
和每个fragent中的一些加载操作(如扫描的东西),但我不知道如何
当我切换两个标签时停止呼叫onCreateView
,我只想保持加载状态,即使我从另一个切换。
我如何实现它(只是使用这种方式,我不想使用tabhost)?
答案 0 :(得分:5)
Fragment.onCreateView
是fragment lifecycle的标准部分,您不应该试图阻止它被调用。
据我所知,你的onCreateView方法可能正在做一些丑陋的工作,这就是你不想要它被调用的原因。如果是这种情况,您应该将此代码移动到另一个不经常调用的生命周期方法(例如onCreate或onActivityCreated,如果您还需要活动上下文)。
onCreateView应仅用于扩充您的布局,并可能引用您需要与之交互的ui组件。
答案 1 :(得分:5)
如果您在setOffscreenPageLimit(2)
上致电ViewPager
,则只会在开始时调用onCreateView
。
答案 2 :(得分:0)
开始在onCreate或onAttach方法中加载,然后不会使用onCreateView重新启动它。 http://developer.android.com/guide/components/fragments.html 这个页面有片段生命周期。