【问题标题】:ViewPager stops displaying FragmentsViewPager 停止显示片段
【发布时间】:2013-07-13 19:50:47
【问题描述】:

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

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

我的 pageadapter 扩展了 FragmentPagerAdapter。

每次调用我的 Activity onCreate 时,我都会创建片段并将它们添加到 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 会正确显示。
我需要在我的浏览器上拨打invalidate() 或其他什么吗?

【问题讨论】:

  • 嘿,你试过我的解决方案了吗?我也有数据消失的问题,用我提到的方法解决了。

标签: android android-fragments android-viewpager


【解决方案1】:

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

android:configChanges="keyboardHidden|orientation|screenSize"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-16
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多