Viewpager setCurrentItem()方法在活动跳跃后不能正常工作"不要保持活动"开发选项

时间:2015-11-26 10:21:06

标签: android android-fragments android-viewpager

我打开"不要保持活动" 开发选项。
在活动A中,有一个viewpager。
然后活动跳转到Activity B,然后按返回按钮返回A,这次viewpager的setCurrentItem()方法不能正常工作。异常意味着不能触发ViewPager中的onPageSelected()方法.OnPageChangeListener ,同时相关的Tablayout不能正确执行。
我试过调用viewpager.post()中的方法(在其他帖子中写的解决方案)计算器,like this post)。
顺便说一句,我使用Android Annotation,并在@AfterViews中调用setCurrentItem()。

2 个答案:

答案 0 :(得分:1)

Try this code:
@Override
void onStart(Bundle savedInstanceBundle){
    if (savedInstanceBundle != null){
       viewPager.setCurrentItem(savedInstanceBundle.getInt(VIEWPAGER_PAGE);
    }
}
    @Override
void onSavedInstanceState(Bundle outState){
    // Put your current ViewPager Page here;
    outState.putInt(VIEWPAGER_PAGE, page));
}

答案 1 :(得分:0)

我找到了原因。 它由ViewPager的onSaveInstanceState和onRestoreInstanceState引起。 我现在不知道详细的原因,我知道时会发布详细的答案。