Como manter as entradas do usuário na mudança de orientação da tela com a biblioteca Android DataBinding?

Estou no começo de um novo projeto Android. Depois de brincar com o MVP no meu último projeto, quero implementar o MVVM com Data Binding dessa vez.

Tenho um problema ao entender o DataBinding corretamente quando se trata de alterações na configuração, como alteração na orientação da tela.

Todas as amostras de DataBinding disponíveis (tudo o que encontrei ao procurar "ligação de dados mvvm android") tem o mesmo problema:Quando insiro algo em um EditText e giro a tela, o EditText fica vazio depois.

Assim que tenho algo como o seguinte no meu layout, não consigo obter as visualizações (EditText neste caso) para restaurar seu estado após a alteração da rotação da tela.

<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable
            name="vm"
            type="com.example.app.TestViewModel" />
    </data>

    <EditText android:id="@+id/question"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@={vm.question}" 
        android:hint="Question" />

</layout>

Eu acho que isso se deve à atribuição de uma nova instância de modelo de exibição no método atividades onCreate todas as vezes.

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ActivityTestBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_test);
    binding.setVm(new TestViewModel());
}

Como você lida com isso corretamente?

Não consigo desenvolver um aplicativo com vários formulários que esquecem todas as entradas do usuário na orientação da tela.

questionAnswers(3)

yourAnswerToTheQuestion