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

相关问题