2013-07-13 45 views
1

我有一个使用viewpager的android应用程序。
viewpager显示两个片段。
我有一个包含viewpager的活动的肖像和风景版本。
我遇到的问题是,viewpager只在第一次显示纵向或横向屏幕时显示其内容。
事件的顺序是...
a)。显示肖像画面OK
b)。开关方向和风景显示OK
c)。切换回肖像和viewpager为空
ViewPager停止显示片段

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

我的pageadapter扩展了FragmentPagerAdapter。

我活动的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正确显示。
我需要拨打invalidate()或我的viewpager?

+0

hye,did y0u试试我的解决方案。我也有这个数据消失的问题,得到了我提到的固定的问题。 –

回答

1

将此行添加到您的AndroidManifest.xml(处理viewpager的活动声明中)。

android:configChanges="keyboardHidden|orientation|screenSize"