Perda dos dados da Activity au mudar orientação da tela

Sempre que mudo a orientação da tela do dispositivo, todos os texto que digitei em EditTexts, posições selecionadas em Spinners, e checagens em CheckBoxes são perdidos.

EI SEI como salvar, recuperar e setar novamente essas informações nas views da activity. Entretando erm uma activity com muitas views, é muito trabalhoso fazer isso.

Gostaria de saber se esse comportamento de perder todos os dados fornecidos para as views da activity ,ao mudar a orientação da tela, é normal.
Ouvi falar que o Android recupera os textos digitados automaticamente, mas na prática não constatei isso. Esse é o comportamento padrão ou estou fazendo algo errado?

Você pode bloquear a rotação da tela lá no AndroidManifest.xml:

<activity
     android:name=".MainActivity"
     android:screenOrientation="locked">
</activity>

Ou não é sua intenção travar a rotação?

1 curtida

O Android recupera textos em EditTexts e TextViews que estiverem com ids definidos.

<EditText
    android:id="@+id/um_id"/>
1 curtida

Sim, foi exatamente isso que ouvi falar. Mas isso funciona se as views estiverem dentro de um fragmento e o fragmento estiver na activity?
Porque eu tenho views com ids definidos dentro de um fragmento, mas ao rotacionaR a tela, a activity e o fragmento são recriados, e os dados (textos das views ) são perdidos. O que estou fazendo errado?

1 curtida