退出前保存片段事务的正确方法

Proper way of saving Fragment transaction before exiting

我有自己的方法来替换我的 mainActivity 中的 Fragments..点击我的 Button...

之后就像这样
FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
    Fragment2 f2=new Fragment2();
    trans.replace(R.id.root_frame, f2,"Fragment2");
    trans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
    trans.commit();
    getPager().setCurrentItem(0);

并且我需要在退出我的应用程序之前保存此更改..所以当我重新打开我的应用程序时交易更改将在那里...

您可以将片段状态保存在共享首选项中,并在片段重新创建时检索它。

设置交易时保存状态

SharedPreferences  mypreferences=getActivity().getPreferences(MODE_PRIVATE);

 Editor editor= mypreferences.edit();
 editor.putString("transition","FragmentTransaction.TRANSIT_FRAGMENT_OPEN");
   //do the same for other fragment states

 editor.commit();

在 onCreate() 方法中检索您的状态。

String transition= mypreferences.getString("transition", "");
if(!transition.equals(""){
   transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
   //do the same for other fragment states
}