在ViewPager中dynamic跳过页面

我有一个通过FragmentStatePagerAdapter持有FragmentViewPager 。 假设寻呼机最初拥有以下页面( Fragment s):

 A - B - C - D 

当用户滑动时,他可以从A移动到BB移动到C等等。但是有些情况下,当用户改变A页面上的某些选项时,他可以移动到B ,但是C

 A - C - D 

然后用户回到A ,修改一些东西,并重新启用B

 A - B - C - D 

我怎样才能达到这个非常dynamic的行为? 当用户改变某些东西,然后重新填充ViewPager ,我不能添加Fragment ,因为它很慢,打破了stream程。

Solutions Collecting From Web of "在ViewPager中dynamic跳过页面"

我们也有同样的情况,我们通过维护一个布尔ArrayList来解决这个问题。这里的页面是片段。 在片段上,我们写了一个接口来更新ArrayList。这个接口是在父活动上实现的。在ViewPager的每一次滑动中,我们检索布尔ArrayList。 在ViewPager上,在setOnPageChangeListener中,我们重写了onPageSelected。

这是一段代码:

 pageIndicator.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { // TODO Auto-generated method stub pagesPageBreakInfoList = activityContext.getBooleanList(); currentPageNumber = position; if (!pagesPageBreakInfoList.get(position)) { if (currentPageNumber > previouspagenumber) { previouspagenumber = currentPageNumber; if (numberofSubmodule == (position + 1)) { viewPager.setCurrentItem(position - 1); } else { viewPager.setCurrentItem(position + 1); } } else { previouspagenumber = currentPageNumber; viewPager.setCurrentItem(position - 1); } } else { previouspagenumber = currentPageNumber; } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } });