2013-03-12 56 views
0

我已經使用FragmentActivityViewPagerAdapterFragment來構建標籤格式。我的FragmentActivity中有3個選項卡。我很困惑,當FragmentActivity方法被調用或者onCreateView方法被調用onClick的選項卡時,是否所有FragmentonCreateView方法都被調用?我已經設置了3個斷點onCreateView我所有的3 Fragments的方法。在調試期間,我發現只有前2個onCreateView方法被調用。請解釋爲什麼只有2個被調用?在android中使用FragmentActivity調用所有Fragment onCreateView方法嗎?

回答

1

ViewPagerAdapter將根據用戶需求來管理創建片段和銷燬片段。所以,如果你不設置mViewPager.setOffscreenPageLimit(NUM_TABS-1),默認爲1(可以參考here

這就是爲什麼它僅僅創建第2個選項卡,當您選擇TAB3,那麼它會破壞tab1的片段並創建tab3的片段。你的情況,如果你設置mViewPager.setOffscreenPageLimit(2)當你調試時,你會看到它調用3 onCreateView方法,並不會銷燬任何片段的視圖。希望這個幫助。

+0

@MichaelIP你是對的。謝啦。 – ray 2013-03-12 02:58:33

0

根據用戶需求創建和銷燬它們。如果你滾動到第二個片段,你會看到它被創建。這只是一個優化。你認爲一個例如8個片段的應用程序需要將這8個片段保存在內存中嗎?這會浪費資源。

+0

雅我明白了。但是默認行爲是什麼。我的第一個2個片段是在開始時創建的,但不是第3個。當我點擊第二個選項卡時,它調用第三個片段。這就是爲什麼我感到困惑。 – ray 2013-03-12 02:26:19

相關問題