9

私の問題

を使用してViewPager内にフラグメントを表示していFragmentActivityます。ViewPager は、添付された からフラグメントを取得しFragmentPagerAdapterます。

mViewPager = (ViewPager) findViewById(R.id.view_pager);       
mAdapter = new HomePagerAdapter(getSupportFragmentManager());    
mViewPager.setAdapter(mAdapter);

表示する 3 つのフラグメントがあるViewPagerとします: Fragment1Fragment2Fragment3Fragment1はグリッド フラグメントで、グリッドを表示します。表示する独自のコンテンツがFragment2あります。Fragment3画面をスワイプするViewPagerと、次のフラグメント - が表示されますFragment2。等々。

私は何をしたいですか?

私が望むのは、グリッドの項目 ( で表示Fragment1) がクリックされたときに、Fragment1他のフラグメントに完全に置き換えられる必要があることFragment4です (これは別のフラグメントであり、接続されたアダプターによって返されません)。ユーザーはクリックFragment4した後ButtonBack(ボタン isside のみFragment4) に作業Fragment1し、グリッドが再び表示されます。一方ViewPager、スワイプでは同じように動作する必要があります。次のフラグメント (この場合Fragment2は ) が表示されます。

したがって、例と同じ動作を取得したいだけです: http://developer.android.com/training/basics/fragments/fragment-ui.html#Replace

私の質問

それで、これを達成することは可能ですか?はいの場合、どのように?どうぞよろしくお願いいたします。アレックス。PS私の英語でごめんなさい:)

4

3 に答える 3

0

フラグメント トランザクションを実行し、既存のフラグメントをバックスタックに追加する必要があります。その方法を示すサンプル プロジェクトを作成しました。

コードは微調整されていません。その方法を示すために作成しただけです。

https://drive.google.com/folderview?id=0BxHClVwHSqq5dVRvT1Qyd0hYN0k&usp=sharing

ただし、ビューページャー画面のいずれかで押し戻しても、同じアクティビティであるため、前のフラグメントが表示されてしまうことに注意してください。

これが予期された動作でない場合は、代わりに複数のアクティビティを使用することを検討する必要があります (タブ レイアウトなど)。

于 2014-01-17T18:16:54.063 に答える