Ger*_*der 5 android android-fragments android-viewpager
我有问题。我有一个片段,里面包含viewpager。对于viewpager我,使用FragmentPagerAdapter扩展。有recycler views内部的每个pager fragment。现在的问题是,我不能恢复后,屏幕旋转内滚动位置recycler views的viewpager。我认为,问题出在recyclerview,但很快我发现屏幕旋转片段内之后viewpager被再创造,所以onCreate()和onDestroy()被调用,即使他们不应该。我也尝试使用onSaveInstanceState(bundle),发现onCreateView()该捆绑包内始终为null。所以我该怎么做?
这个话题对我没有帮助。
嗯,我找到了答案。问题出在我身上)。有层次结构: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)
这完全是我的错,我感到羞耻。对不起。
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |