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