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

时间:2015-01-17 01:50:04

标签: android android-fragments

我的方法是在我的mainActivity中替换Fragment ..在点击我的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);

我需要在退出我的应用程序之前保存此更改。所以当我重新打开我的应用程序时,更改会在那里...

1 个答案:

答案 0 :(得分: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
}