我在我的應用程序中實現了ViewPager中100的相同片段。片段相當大的來自服務器的顯示數據。當我把代碼mViewPager.setOffscreenPageLimit (100)
,應用程序感覺非常沉重。因此,我使用以下方法:刪除setOffscreenPageLimit
並調用一種方法來檢查服務器上的數據,並在選擇片段時顯示它。但是當發生這種情況時:選擇片段「1」,然後片段「2」,回到片段「1」,片段「1」將重複該活動。我的問題是如何保持每個片段的活動被選中或當返回到最後一個條件選擇的片段?對不起我的英語不好。保持每個片段內部ViewPager?
1
A
回答
0
如果刪除setOffscreenPageLimit,保持每個片段的活性的方法是片段的狀態數據存儲在:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putData("key", fragmentData);
}
,當你離開它,當你回來,你更新由片段你存儲的狀態數據。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
fragmentData = savedInstanceState.getData("key", defaultData);
}
你應該在viewpager中使用一些片段,不要使用太多。考慮使用片段並在其中顯示許多視圖,數據。
0
setOffscreenPageLimit:設置的,應該是 保留在視圖層次結構的當前頁面的兩側在 空閒狀態的頁數。需要時,將從 適配器重新創建超出此限制的頁面。
請勿將setOffscreenPageLimit設置得太大,因爲視圖尋呼機會使頁面保持活動狀態,所以您的應用程序將運行緩慢。並且,當您刪除setOffscreenPageLimit時,此設置默認爲1.這意味着超出此限制(1)的頁面將在需要時從適配器重新創建。 https://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit(int)
相關問題
- 1. 保存RecyclerView狀態ViewPager內部片段另一個片段
- 2. Viewpager內部替換片段
- 3. 片段內ViewPager內部的ViewGroup
- 4. 片段內的ViewPager
- 5. ViewPager片段內(NestedFragments)
- 6. 片段內的ViewPager
- 7. 在viewpager中保存片段的內容
- 8. ViewPager + FragmentPagerAdapter +每個標籤多個片段
- 9. Android保留片段在ViewPager
- 10. 在片段內顯示片段viewpager
- 11. 如何在ViewPager的每個部分中使用片段
- 12. 一個片段內的ViewPager不工作
- 13. 重新加載ViewPager內部的片段,其中的另一個片段inViewPager
- 14. ViewPager FragmentStatePagerAdapter在內存中保留三個以上的片段
- 15. ViewPager中另一個片段的片段
- 16. 的RelativeLayout - 保持片段底部
- 17. ViewPager和FragmentPagerAdapter與片段(不支持庫)
- 18. 片段中的ViewPager在transaction.remove()(保持實例?)後消失
- 19. ViewPager片段
- 20. TabLayout - ViewPager - 片段
- 21. Android ViewPager片段
- 22. Android viewpager片段
- 23. Viewpager與片段
- 24. 片段內部片段
- 25. 片段內部的片段
- 26. 使用FragmentPagerAdapter在片段內部使用OnClickListener保持獲得NullPointerExceptions
- 27. 保留viewpager片段的狀態android
- 28. ViewPager在片段中保存視圖
- 29. 安卓:保存碎片國家/在每個片段的每個視圖中使用ViewPager
- 30. 保持片段Synconized - 片段Android