Retain the Fragment object while rotating

By default Android will retain the fragment objects. In your code you are setting the homeFragment in your onCreate function. That is why it is allways some homeFragment or fl what ever that you set in onCreate.

Because whenever you rotate, the onCreate will execute and set your fragment object to the first one

So the easy solution for you is check whether savedInstanceState bundle is null or not and set the fragment object

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if(null == savedInstanceState) {
        // set you initial fragment object 
    }
 }

Leave a Comment