RelativeLayoutコンテナの主なアクティビティは、FragmentManagerを使用して異なるフラグメントを読み込みます。 2つのトランザクションでfragment1とfragment2をロードします。戻るボタンが押された場合、fragment1とfragment2の両方がロードされていない状態に戻りたいと思います。これは可能ですか? 私はaddToBackStack()メソッドに同じ名前を使用することを試みた:Android:同じバックスタック状態に2つ以上のフラグメントを追加する
mFragmentManager.beginTransaction().replace(R.id.activity_main, fragment1).addToBackStack("SameState").commit();
mFragmentManager.beginTransaction().add(R.id.activity_main, fragment2).addToBackStack("SameState").commit();
が、これは動作しません。私がバックボタンを押すと、フラグメント2が最初に消えてからフラグメント1をもう一度押すと消えます。なにか提案を?
@DeeVこのようにすれば、フラグメント2はまだ生きています(レンダリング) – revy
申し訳ありませんが、あなたは正しいです。それはバックスタックには含まれません。私はあなたがそれについて行く必要があるかもしれない方法は、コンテナに一緒に両方を追加して、2番目のコミットでfragment2を非表示/非表示にするのではなく、追加すると思います。そうすれば、「戻る」を押すと、両方が削除されます。 – DeeV