2016-03-23 80 views
0

的ViewPager默認爲一個頁應該由方法setOffscreenPageLimit().被保留到視圖層級中的當前頁面的任一側但是,當我setCurrentItem,它仍加載的兩個前頁的數據,這意味着它請求的5頁數據。我怎樣才能避免這一點,只是加載3頁的數據?當我在ViewPager中設置當前項目時,ViewPager會加載5頁數據,爲什麼?

FragmentPagerAdapter adapter = new WorksFragmentAdapter(getSupportFragmentManager(),ids); 
viewPager.setAdapter(adapter); 
viewPager.setCurrentItem(currentItem); 
+0

你在片段中請求了什麼數據,一個外部json? –

回答

0

嘗試覆蓋您的Fragment中的setUserVisibleHint,並在其中加載數據。

這裏是爲我的作品的樣品。

public class ViewPagerFragmentSample extends ListFragment{ 
    ... 
    @Override 
    public void setUserVisibleHint(boolean isVisibleToUser) { 
     super.setUserVisibleHint(isVisibleToUser); 
     if (isVisibleToUser) { 
      new AsyncListViewLoader().execute(); //Replace with your method 
     } 
    } 
    ... 
} 

希望這有助於!

+0

感謝您的回答。但它就像一個懶惰的加載片段,急切的加載被解散。 – AnswerZhao

相關問題