退出前保存片段事务的正确方法
Proper way of saving Fragment transaction before exiting
我有自己的方法来替换我的 mainActivity 中的 Fragment
s..点击我的 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
}
我有自己的方法来替换我的 mainActivity 中的 Fragment
s..点击我的 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
}