XML ファイルで定義されている 3 つのフラグメントを持つアプリケーションに取り組んでいます。
[HeaderFragment]
[MainFragment]
[FooterFragment]
最初の画面で 3 つのフラグメントが開始されます。HeaderFragment と FooterFragment は静的であるため、コンテンツは変更されません。
MainFragment は、ボタンと透明な背景 ( MenuFragment) を持つ初期メニューです。メニューの項目をクリックすると、次のようMenuFragmentに新しいフラグメント ( DetailsFragment)に置き換えられます。
FragmentTransaction transaction = mFragmentManager.beginTransaction();
Fragment newFragment = new DetailFragment();
transaction.replace(R.id.content_container, newFragment);
transaction.addToBackStack(newFragment.getTag());
transaction.commit();
が表示され、DetailFragment押し戻すと がMenuFragment表示され、すべてが正常に機能します。
これが私の問題です:
内部にはDetailFragment、コンテンツをフィルタリングするトグル オプションがあります。これはボタンです。これをクリックすると、上記のコードと同じ方法でDetailFragmentFilteredが置き換えられます。DetailFragment唯一の違いは、フィルタリングして [戻る] を押した後、BackStack に追加しないことですMenuFragment。
フィルター ボタンをクリックして [戻る] を押すと、DetailFragment(またはDetailFragmentFiltered) が の後ろに表示されますMenuFragment。もちろん、私はこれを望んでいません。