Fragmente salvar automaticamente e restaurar o estado de EditTexts

Eu tenho um fragmento que parece estar restaurando automaticamente o estado através de uma alteração na configuração de rotação da tela. Posso verificar nos logs que onCreatView é chamado no fragmento sempre que a tela é girada. Apesar de chamar para applyDefaults (), as entradas de rascunho feitas pelo usuário são mantidas quando a tela gira e onCreateView () é chamado.

Meu entendimento é que eu precisaria salvar o estado em onSaveInstanceState () e restaurá-lo em onCreateView (), mas esse não parece ser o caso. Alguém pode explicar?

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    Log.d(TAG, "onCreateView()");
    View view = inflater.inflate(R.layout.fragment_email_entry, container, false);

    m_hostNameEditText = (EditText) view.findViewById(R.id.hostNameEditText);
    // set reference for other fields

    applyDefaultsForNewEmailAccount();
    return view;
}

private void applyDefaults() {
    m_hostNameEditText.setText("");
    // set other defaults
}

Pode ter a ver com o fato de que minha Atividade herda de SingleFragmentActivity, portanto, talvez ele veja que o fragmento já está na exibição. Ainda assim, sabemos que Fragment.onCreateView () está sendo chamado.

public abstract class SingleFragmentActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.single_fragment_activity);
        FragmentManager fragmentManager = getFragmentManager();
        Fragment fragment = fragmentManager.findFragmentById(R.id.single_frame_container);
        if (fragment == null) {
            fragment = createFragment();
            fragmentManager.beginTransaction()
                    .add(R.id.single_frame_container, fragment)
                    .commit();
        }
    }

    public abstract Fragment createFragment();
}

questionAnswers(1)

yourAnswerToTheQuestion