如何保存最后一个片段?

How to Save the last Fragment?

I have three Fragments and I have two buttons on main Activity b1 called next button and b2 called previous button when app is starting its show me blank Fragment , when click on b1 its show me XFragment called page 1 ,when click on b1 its show me YFragment called page 2 , I want when re-open app its show me the last Fragment has been opend ,I know should use shareprefrences but I dont know how to add it to this code

public class MainActivity extends AppCompatActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void b1(View view) {

        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        XFragment fragment = new XFragment();
        ft.replace(R.id.mainfragment,fragment);
        ft.commit();
    }

    public void b2(View view) {

        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        YFragment fragment = new YFragment();
        ft.replace(R.id.mainfragment,fragment);
        ft.commit();
    }
}

以下是使用 SharedPreference 所需的代码。

public class MainActivity extends AppCompatActivity  {

        SharedPreference pref;
        Editor editor;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            pref = getApplicationContext().getSharedPreferences("MyPref", 0);
            editor = pref.edit();
            int fragment_number=pref.getInt("fragment_number", -1); // getting Integer
            if(int==1){
            //start first fragment
            }
           if(int==2){
            //start second fragment
           }
        }

        public void b1(View view) {
            editor.putInt("fragment_number", 1); 
            editor.apply();
            FragmentManager fm = getSupportFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            XFragment fragment = new XFragment();
            ft.replace(R.id.mainfragment,fragment);
            ft.commit();
        }

        public void b2(View view) {

            editor.putInt("fragment_number", 2); 
            editor.apply();
            FragmentManager fm = getSupportFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            YFragment fragment = new YFragment();
            ft.replace(R.id.mainfragment,fragment);
            ft.commit();
        }
    }