2016-10-15 7 views
2

Please check the flowネストされたフラグメントの問題は、仕事を得ることができませんが、直接アプリの問題に閉じ、backstackフラグメントから行わ

こんにちは、みんな誰か助けてください,,,,非常に難しいそれを解決しようとしているが、できません...この問題でうんざりしました ホーム、検索、書籍、プロファイルの断片でナビゲーションドロワーを持つ親アクティビティがあります。 Homeフラグメントに3つのタブが追加されました。 Tabの最初の断片から、それを新しい断片、すなわちBookDetailsに置き換えたいと思います。これはホームブックの詳細 - カートログインのようにすべきです。私が背中になると、それぞれの古い断片に来るはずです。どうすればいい?

答えて

1
  1. NavigationDrawerから移動する場合は、replaceを使用してください。
  2. 子フラグメントに移動するときは、addを使用し、現在のフラグメントをbackstackに入れます。

それは

今、このシナリオで、バックホームからいつでもユーザーを押し、検索書籍やプロフィールフラグメント、あなたの問題を解決する、それはあなたのアプリケーションを閉じます。

あなたが本の詳細の中にいて、戻るを押すと、HomeFragmentに移動します。

HomeFragmentのためのあなたのコードは、(あなたがコメントで投稿しているとして)罰金だ

しかしHomeFragmentからBookDeatailsFragに移動するとき、あなたは使うべきadd代わりのreplace

BookDeatailsFrag fragment = new BookDeatailsFrag(); 

FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction(); 
fragmentTransaction.addToBackStack("home"); 
fragmentTransaction.add(R.id.details, fragment, "detail").commit(); 
+0

ホームは、ナビゲーション中の断片の一つであります私はこのフラグメントのバックスタックをどのように追加することができますか? –

+0

プライベートvoid displaySelectedScreen(int itemId){ selectedPosition = itemId; スイッチ(itemId){ ケースR.id.homeMenu: フラグメント=新しいホーム(); 休憩。 –

+0

フラグメントフラグメント; fragment = new BookDeatailsFrag(); FragmentTransaction transaction = getChildFragmentManager()。beginTransaction(); transaction.replace(R.id.details、fragment); transaction.commit();そしてホームから私はこのような書籍の断片のコードを追加しました –

関連する問題