複数の ViewPager に基づくデザインを実装するのに少し問題があります。
大まかに言えば、コンテンツとして FrameLayout だけを持つ FragmentActivity があります。表示したい3つの異なるフラグメントがあります。3 つすべてがフルスクリーンで、一度に使用できるのは 1 つだけです。
フラグメント 1 は、いくつかの TextView と ImageView を含む基本的なフラグメントです。フラグメント 2 には、いくつかの単純なフラグメントを供給する ViewPager と FragmentPagerAdapter があります。フラグメント 3 には ViewPager と FragmentPagerAdapter があり、いくつかの単純なフラグメント (フラグメント 2 とは異なります) をフィードします。
FragmentActivity onCreate() で FragmentManager を取得し、トランザクションを開始して FrameLayout にあるものを Fragment 2 の新しいインスタンスに置き換えます。
この時点で、すべてが期待どおりに機能しています。Fragment 2 の ViewPager は完全に機能します。
これで、FrameLayout の Fragment 2 を Fragment 3 の新しいインスタンスに置き換えるメニュー オプションができました。これも問題なく動作します。
別の置換トランザクションで Fragment 2 を FrameLayout に戻そうとすると、問題が発生します。上部に PagerIndicator が表示されますが、ページが空白です。
Fragment 2 の新しいインスタンスを作成して、replace トランザクションを呼び出してみました。また、新しいインスタンスを作成する代わりに、replace を呼び出すときに Fragments にタグを設定し、replace の前に findFragmentByTag チェックを追加しようとしました。2 回目の置換後、どちらも同じ結果の空白ページが表示されました。
参考までに、私の最初の設計は、ViewPager と ViewIndicator を持つ単純な FragmentActivity でした。上記の説明の Fragment 2 と Fragment 3 しかなく、それらを切り替えるメニュー オプションがありました。切り替えるには、2 つの異なる FragmentPagerAdapter を定義し、ViewPager.setAdapter を呼び出して、選択した FragmentPagerAdapter を設定しました。これは完全に機能していましたが、ViewPager をまったく使用しない新しいトップ レベルの Fragment が必要になりました。これが、ViewPagers を独自の Fragments に移動することにした理由です。私の考えは、フラグメントを FrameLayout に交換するだけだということです。
今は自分のコードがないので投稿できませんが、回答を容易にするために明日の質問にコードを追加します。