私は次のことをしたいです。最初と 2 番目の 2 つのフラグメントがあります。それらの間の移行を行う必要があります。最初のフラグメントから 2 番目のフラグメントに移動すると、最初にスタックに格納されます。[戻る] ボタンをクリックすると、2 番目のフラグメントが削除され、スタックから最初のフラグメントが返されます。ここでも、2 番目のフラグメントに移動できません。削除されています。どうすればこの問題を解決できますか?
メイン アクティビティ (Fragment1 のコールバック):
@Override
public void onNavigate() {
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment1 newFragment1 = (Fragment1) getFragmentManager().findFragmentByTag("frag_1");
Fragment2 newFragment2 = (Fragment2) getFragmentManager().findFragmentByTag("frag_2");
ft.replace(R.id.main, newFragment2);
ft.remove(newFragment1);
ft.addToBackStack(null);
ft.commit();
}
動的に追加したフラグメント:
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(R.id.main, new Fragment1(), "frag_1");
ft.add(R.id.main, new Fragment2(), "frag_2");
ft.commit();