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
。もちろん、私はこれを望んでいません。