片段内的ViewPager无法还原子片段的状态

Ger*_*der 5 android android-fragments android-viewpager

我有问题。我有一个片段,里面包含viewpager。对于viewpager我,使用FragmentPagerAdapter扩展。有recycler views内部的每个pager fragment。现在的问题是,我不能恢复后,屏幕旋转内滚动位置recycler viewsviewpager。我认为,问题出在recyclerview,但很快我发现屏幕旋转片段内之后viewpager被再创造,所以onCreate()onDestroy()被调用,即使他们不应该。我也尝试使用onSaveInstanceState(bundle),发现onCreateView()该捆绑包内始终为null。所以我该怎么做? 这个话题对我没有帮助。

Ger*_*der 3

嗯,我找到了答案。问题出在我身上)。有层次结构:MainActivity 具有片段的框架布局 - PagerFragment,其中包含 viewpager - viewpager 内的 fagments。问题是,在活动内的屏幕旋转之后,我总是替换 PagerFragment,例如:

android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragment = new PagerFragment();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

但我应该这样做:

Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
if (fragment == null) {
        android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
        fragment = new PagerFragment();
        fragmentTransaction.replace(R.id.fragment_container, fragment);
        fragmentTransaction.commit();
}
Run Code Online (Sandbox Code Playgroud)

这完全是我的错,我感到羞耻。对不起。