まずはワイヤーフレーム画像http://i.imgur.com/dPAMA.pngをご覧ください。
ViewPager を使用して FragmentActivity 内にフラグメントを表示しています。ViewPager は、添付された FragmentPagerAdapter からフラグメントを取得します
mViewPager = (ViewPager) findViewById(R.id.view_pager);
mAdapter = new HomePagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
viewpager に表示する 3 つのフラグメント (Fragment1、Fragment2、Fragment3 など) があるとします。上の画像の「displaying fragment1」は、最初のフラグメント「Fragment1」のタイトルです。このフラグメントはリスト フラグメントであり、リストを表示します。Fragment2 と Fragment3 には、表示する独自のコンテンツがあります。ユーザーが画面をスワイプすると、ViewPager は次のフラグメント「Fragment2」を表示します。
私が望むのは、リストのアイテム(Fragment1によって表示される)をクリックすると、Fragment1が他のフラグメント、たとえばFragment4に完全に置き換えられることです(これは別のフラグメントであり、接続されたアダプターによって返されません)。Fragment4 が表示されると、アクションバーの内容が変わるはずです。ユーザーが Fragment4 と onBackPress、または ActionBar からのアクションで作業するたびに、リストを含む Fragment1 が再び表示されます。一方、ViewPager はスワイプでも同じように動作し、次のフラグメント (この場合は Fragment2) が表示されます。
基本的に、次の例と同じ動作を取得したい:
http://developer.android.com/training/basics/fragments/fragment-ui.html#Replace
この例では、ListFragment は FragmentActivity 内に直接表示されます。ViewPager で ListFragment を表示しています。上記の例と同じ機能が必要ですが、ViewPager で表示されるフラグメント内にあります。Android 4.2 のリリース前は、これを実現するのは非常に困難でした。このバージョンの android は、ネストされたフラグメントをサポートしてgetChildFragmentManager()
いるため、希望が見えます。
私はこれを何日も自分の側で試しており、ネストされたフラグメントに関連する Q & A のためにスタックオーバーフロー全体をスキャンしましたが、必要なものが得られませんでした。
それで、これを達成することは可能ですか?はいの場合、どのように?