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

Android 使ViewPager在数据更改时忘记当前项目位置,android,android-fragments,android-viewpager,fragmentpageradapter,fragmentstatepageradapter,Android,Android Fragments,Android Viewpager,Fragmentpageradapter,Fragmentstatepageradapter,我有一个残缺的国语页面雷达,可以容纳,比如说,三个残缺。片段是位置0、B和C位置2。片段B当前可见 在用户交互时,我将调用notifyDataSetChanged,现在有五个片段。它们是D位置0、E、F、G和H位置4 当前的行为是在数据更改后默认显示片段E。ViewPager将保持在以前的位置。但是,我希望ViewPager在FragmentStatePagerAdapter每次获得一些新数据时都显示position-0项 我已尝试在ViewPager上设置CurrentItem0。但是在Vie

我有一个残缺的国语页面雷达,可以容纳,比如说,三个残缺。片段是位置0、B和C位置2。片段B当前可见

在用户交互时,我将调用notifyDataSetChanged,现在有五个片段。它们是D位置0、E、F、G和H位置4

当前的行为是在数据更改后默认显示片段E。ViewPager将保持在以前的位置。但是,我希望ViewPager在FragmentStatePagerAdapter每次获得一些新数据时都显示position-0项

我已尝试在ViewPager上设置CurrentItem0。但是在ViewPager滚动到片段D之前,片段E仍然显示

有解决方案吗?

您应该使用setCurrentItem0,而不是false

编辑:

public void setCurrentItem int项,布尔平滑滚动

false可禁用smoothScroll


但是,如果我只想让ViewPager立即显示第0页,而不显示任何滚动,该怎么办?我以为我看到了像setPrimaryitem的东西对不起,那是我关于setPrimaryitem的错误。您应该使用setCurrentItem0,false而不是setCurrentItem0 public void setCurrentItem int item,boolean smoothScroll,false表示没有smoothScroll但仍有某种滚动?我可以马上显示第0项吗?你试过了,看到滚动条了吗?它应该没有滚动效果当smoothScroll为true时,我看到滚动效果。当它为false时,我看不到滚动效果。它达到了我想要的效果。但我认为仍有一些过渡正在进行,这对我来说不是很有效。