2014-09-20 26 views
0

編輯:the project folder, ready for android studio選項卡式片段活動無緣無故創建不必要的選項卡?

我下載從here的EffectiveNavitaion.zip項目,並開始與它修修補補,

上 'DemoObjectFragment' 我加了一個計數器之外的功能:

static int count =0 

和我改變OnCreateView()中的一行

((TextView) rootView.findViewById(android.R.id.text1)).setText(
    (savedInstanceState == null ? "null" : "restored") + count++); 

我注意到當我在例如(1,2,3,2,3,2,3)的交替選項卡之間滑動時,選項卡不會更改(它們的計數保持不變),並且我們看到從未銷燬的舊選項卡

雖然onCreateView()上DemoObjectFragment一直被稱爲每次刷卡,似乎一個新片段被創建的每個刷卡並最終沒有被完全使用,

我的問題是:是否有對行爲的原因,我在代碼中看到還是有問題?

回答

0

我想我發現了這一點,當一個特定的項目被調用時,「FragmentStatePagerAdapter」會希望有2個直接鄰居準備刷卡,

它已經有一個(一個我們來自)並要求另一個,事情是,它只能同時緩存3個(我們正在查看的和它的鄰居)

因此,它使得兩個標籤之間交替總是會導致getItem()調用'FragmentStatePagerAdapter'

相關問題