2013-07-13 149 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"