ビューページャーを使用する Android アプリケーションがあります。
ビューページャーには 2 つのフラグメントが表示されます。
ビューページャーを含むアクティビティの縦向きと横向きのバージョンがあります。
私が抱えている問題は、縦向きまたは横向きの画面が最初に表示されたときにビューページャーがそのコンテンツのみを表示することです。
イベントのシーケンスは次のとおりです。 a)
縦画面の表示 OK
b)。向きと横向きの表示を切り替えOK
c)。縦向きに戻すと、viewpager は空白になります
ランドスケープモードで開始し、ポートレートに切り替えて再び元に戻すと、同じ結果が発生します。
my 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();
}
}
もう1つの「奇妙な」ことは、画面にトグルボタンがあることです。ビューページャーが空白になるポイントに到達したら、たとえば、縦向き、横向き、縦向きに切り替えて、トグルボタンをクリックすると、ビューページャーが正しく表示されます。ビューページャーで何か
を呼び出す必要がありますか?invalidate()