2014-05-13 120 views
1

我有ViewPager(4片段),當我啓動應用程序,這4個片段開始加載(從服務器的json對象),它不酷,因爲每個片段大約100個項目。如何僅在開始時加載一個片段,並且僅當用戶切換到片段時才加載每個片段。Java Android - ViewPager片段加載

類似的應用程序在Twitter,藤。

+0

您可以使用您寫過的一些示例代碼編輯您的問題恩? – Perneel

+0

也許你正在運行asynctasks來獲取HostActivity的onCreate上的json對象而不是片段的,你應該這樣做,它會在near(left或right)時被調用)被顯示。 – Aiapaec

回答

0

默認情況下,offscreenpagelimit設置爲1

ViewPager.getOffScreenPageLimit() == 1 

所以你只能創建兩個片段一次(如果你沒有改變關閉屏幕的限制,用戶不刷卡和你的第一個片段顯示是位置0)。

如果你想知道什麼是當前顯示的片段,用

ViewPager.getCurrentItem() 

如果你需要知道,當用戶掃描到下一個片段,使用

ViewPager.setOnPageChangeListener(OnPageChangeListener listener) 

如果您需要當前顯示的片段的實例使用

shownFragment = FragmentPagerAdapter.getItem(ViewPager.getCurrentItem()); // you have to make sure to return the instance currently in use 
shownFragment.doHeavyNetworkStuffInBackground();