Android ViewPager屏幕旋转

dav*_*cao 7 android android-viewpager

我有一个带有ActionBarSherlock选项卡的Activity和一个ViewPager.滚动页面时,切换选项卡并更改选项卡,当前页面也会更改.我正在使用一个扩展FragmentStatePagerAdapter的类作为页面视图中的适配器.问题是当设备旋转时,不会调用页面适配器中的getItem,看起来片段引用不正确.这是一个很大的问题,因为用户必须在寻呼机内完成一些字段.这些字段在旋转时正确恢复,但由于我对片段的引用不正确,我无法以正确的方式保存这些值.关于轮换的任何想法?

Neo*_*eoh 3

在onSavedInstanceState中保存当前页码:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("item", mViewPager.getCurrentItem());
}
Run Code Online (Sandbox Code Playgroud)

然后在onCreate中:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(savedInstanceState != null) {
         mViewPager.setCurrentItem(savedInstanceState.getInt("item"));
    }
}
Run Code Online (Sandbox Code Playgroud)