android - ViewPager 停止显示 fragment

标签 android android-fragments android-viewpager

我有一个使用 viewpager 的 android 应用程序。
viewpager 显示两个 fragment 。
我有包含 viewpager 的 Activity 的纵向和横向版本。
我遇到的问题是 viewpager 仅在第一次显示纵向或横向屏幕时显示其内容。
事件的顺序是……
a).显示竖屏OK
b).切换方向和横向显示 OK
C)。切换回纵向,viewpager 为空白

当我以横向模式开始并切换到纵向并再次返回时,会出现相同的结果。

我的页面适配器扩展了 FragmentPagerAdapter。

每次我的 Activity onCreate 被调用时,我都会创建 fragment 并将它们添加到 asd 中:-

final List fragments = getFragments(result);
mPageAdapter = new MyPageAdapter(getSupportFragmentManager(), fragments);
mViewPager = (ViewPager) findViewById(R.id.guess_view_pager);
mViewPager.setAdapter(mPageAdapter);

我的页面适配器看起来像这样

private class MyPageAdapter extends FragmentPagerAdapter {
private List fragments;
public MyPageAdapter(final FragmentManager fm, final List fragments) {
super(fm);
this.fragments = fragments;
}

@Override
public Fragment getItem(final int position) {
return this.fragments.get(position);
}
@Override
public int getCount() {
return this.fragments.size();
}
}

另一个“奇怪”的事情是我的屏幕有一个切换按钮。一旦我到达 viewpager 为空白的地步,例如在纵向、横向、返回纵向之间切换,如果我单击切换按钮,viewpager 会正确显示。
我需要在我的 viewpager 上调用 invalidate() 还是什么?

最佳答案

在您的 AndroidManifest.xml 中添加这一行(在处理 viewpager 的 Activity 声明中)。

android:configChanges="keyboardHidden|orientation|screenSize"

关于android - ViewPager 停止显示 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17633673/

相关文章:

java - 使用 Tensorflow Lite 在 Android Java 上进行面部表情识别

android - 通过抽屉导航将先前的 fragment 替换为新 fragment 时, Volley 在新 fragment 中显示先前的 fragment 响应

android - 可以在没有 android-support-v4.jar 库的情况下使用 ViewPager 和 PagerAdapter 吗?

android - 未显示 ViewPager fragment 的布局

android - 如何找到 Android 应用程序使用的广告库

android - 禁用 FAB 淡入淡出动画

java - 为什么我的 Activity 在添加 fragment 后会被破坏(#2)?

Android FragmentTransaction 提交已调用

android - 在屏幕旋转时在 ViewPager 中显示带有数据的 fragment

android - 如何更改工具栏中 AppCompatSpinner 的文本颜色?