現在、ViewGroup (SwipeyTab 実装) を使用して Fragments を切り替えています。ただし、一部のフラグメント「ページ」は同じタブの他のフラグメントに置き換えられるため、最初に試しました:
FragmentTransaction ft = fragment.getFragmentManager().beginTransaction();
ft.remove(currentFragment);
ft.add(newFragment,"");
ft.commit();
そのコードは現在のフラグメントを削除しますが、newFragment を追加しません (Logcat から、インスタンス化されますが表示されません)。
現在の状態に基づいて FragmentPagerAdapter.getItem(int position) 呼び出しに追加することになりました(これに基づいて: ViewPager 内の Fragment を置き換えます)。ただし、新しく置換された各フラグメントをバック スタックの一部として追加できるようにしたいと考えています。
フラグメントを削除する前に、バックスタックに追加しようとしました:
currentFragment.getFragmentManager().beginTransaction().addToBackStack(null).commit(); FragmentTransaction ft = fragment.getFragmentManager().beginTransaction(); ft.remove(現在のフラグメント);
ft.commit(); それは機能しませんでした-最後のフラグメントをバックスタックに追加したため、押し戻すと、現在のフラグメントがリロードされました。
「非伝統的な」方法で置き換えられたバックスタックにフラグメントを追加できる方法はありますか?