2012-05-24 120 views
2

在我的應用我使用ViewPager從支持庫 - V4重新創建片段FragmentPagerAdapter

  1. 在主屏幕上我有viewPager其中有最多5個片段,片段都屬於一類ArticlePager

  2. 現在,在主屏幕上有名單上的類別,現在尋呼機的內容是基於選擇,

的問題我一個m有,我用FragmentPagerAdapter存儲片段,如果片段已經存在,它將返回舊的片段而不重新創建它。這些事情完美運行,但問題發生在方向改變時。

例如

如果有5查看通常在每一個片段對於給定的位置,但也有一些含有2-3看法。 現在如果我更改方向頁號可以說5只包含只有3視圖內。

因此,現在在每個類別上我都會看到包含3個視圖的視圖,這不是我想要的。

在我的應用程序的每個類別包含分頁

有什麼辦法,這樣我可以破壞並重新創建類別的點擊片段?或任何其他變通

謝謝

回答

6

好的感謝開源我找到我的解決方案,FragmentPagerAdapter我已經覆蓋了方法instantiateItem並得到了解決方案。

這可以很容易地通過FragmentStatePagerAdapter來實現,使得它不存儲片段。它總是重新創建它,但由於只有幾頁,我不想在100頁的頁面中。

+0

你如何覆蓋它? –

0

所以,如果我理解正確的話,你的問題是,旋轉後,錯誤的片段集合在你ViewPager?

爲什麼不檢查Activity的onResume()或onStart()中當前選定的選項卡,併爲您創建/分配一個具有正確片段的ViewPager的新PagerAdapter?

+0

實際上FragmentPagerAdapter現在通過FragmentManager中的標籤存儲新創建的片段,如果已經創建了位置的片段,那麼它只是傳遞最後片段的對象而不創建它。不管我爲適配器創建多少個對象。 –

+0

現在當我切換方向,如果只有3個視圖的位置一個,那麼它將保持所有標籤相同 –

相關問題