在数据更改时使ViewPager忘记当前项目位置

时间:2015-09-01 05:46:37

标签: android android-fragments android-viewpager fragmentpageradapter fragmentstatepageradapter

我有一个FragmentStatePagerAdapter,比如三个FragmentFragments是A(位置0),B和C(位置2)。 Fragment B目前可见。

用户互动后,我会拨打notifyDataSetChanged(),现在有五个Fragments。它们是D(位置0),E,F,G和H(位置4)。

当前行为是数据更改后默认显示Fragment E。 (ViewPager保持其先前的位置。)但是,我希望ViewPager每次position-0获取一些新数据时都显示FragmentStatePagerAdapter项。

我在setCurrentItem(0)上尝试了ViewPager。但Fragment E仍在ViewPager滚动到Fragment D之前显示。

任何解决方案?

1 个答案:

答案 0 :(得分:0)

您应该使用setCurrentItem(0, false)代替

修改

  

public void setCurrentItem(int item,boolean smoothScroll)

false表示禁用smoothScroll

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