0

我有一個FragmentStatePagerAdapter,其中包含三個Fragment s。 Fragments是A(位置0),B和C(位置2)。目前可以看到Fragment B使ViewPager在數據更改時忘記當前項目的位置

用戶互動後,我會撥打notifyDataSetChanged(),現在有五個Fragments。它們是D(位置0),E,F,G和H(位置4)。

當前行爲是在數據更改後默認顯示Fragment E。 (ViewPager停留在其以前的位置。)但是,我希望ViewPager顯示position-0項每次FragmentStatePagerAdapter獲取一些新的數據。

我已經在ViewPager上試過setCurrentItem(0)。但Fragment E仍然顯示在ViewPager滾動到Fragment D之前。

任何解決方案?

回答

0

您應該使用setCurrentItem(0, false)代替

編輯:

公共無效setCurrentItem(INT項目,布爾smoothScroll)

假禁用smoothScroll

http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setCurrentItem%28int,%20boolean%29

+0

但是,如果我只是希望'ViewPager'立即顯示第零頁而沒有任何滾動?我以爲我看到了一些像'setPrimaryItem()' – Jonas

+0

對不起,那是我對setPrimaryitem()的錯誤。你應該使用'setCurrentItem(0,false)'不'setCurrentItem(0)' '公共void setCurrentItem(int item,布爾smoothScroll)',false意味着沒有smoothScroll –

+0

但仍然有某種滾動?我可以馬上展示第零件嗎? – Jonas

相關問題