ViewPager停止显示片段

时间:2013-07-13 19:50:48

标签: android android-fragments android-viewpager

我有一个使用viewpager的android应用程序 viewpager显示两个片段 我有一个包含viewpager的活动的纵向和横向版本 我遇到的问题是,viewpager仅在第一次显示纵向或横向屏幕时才显示其内容 事件的顺序是......
a)。显示人像屏幕确定
B)。切换方向和横向显示确定
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为空白的点,例如在肖像,风景,回到肖像之间切换,如果我点击togglebutton,viewpager正确显示 我是否需要在我的viewpager上调用invalidate()或其他内容?

1 个答案:

答案 0 :(得分:1)

在AndroidManifest.xml上添加此行(处理viewpager的内部活动声明)。

android:configChanges="keyboardHidden|orientation|screenSize"