J'ai une application qui ressemble à un test. Il y a beaucoup de boutons radio et de groupes radio.
Pendant la rotation, j'économise le test actuel dans onSaveInstanceState (...) puis dans onCreateView (...) en restaurant cet objet. Tout fonctionne parfaitement bien là-bas .. Après la rotation tout est mis en place et fonctionne bien.Android gérer la rotation des fragments avec les méthodes RadioButtons onClick
Exemple:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
...
if(savedInstanceState != null)
mTest = (Test)savedInstanceState.getSerializable(TEST_SAVED);
else{
String userId = "";
if (getArguments() != null) {
userId = getArguments().getString(PACIENT_ID);
}
mTest = new Test(userId, "...");
}
...
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable(TEST_SAVED, mTest);
}
Je me occupe le bouton radio onClick directement en XML
<RadioButton
android:id="@+id/radioButtonOt1Btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="8"
android:onClick="onRadioButtonClicked" // HERE
android:text="10" />
Mais .. Lorsque je clique sur un bouton radio après rotation, tout est réglé sur NULL (TextViews, EditTexts et bien sûr mon objet Test).
Donc, le problème est évidemment dans la méthode XML onClick où quelque chose ne va pas.
Quelqu'un a des suggestions sur ce qui se passe? :-) Merci
Votre activité et les fragments sont recréés. Utilisez-vous une mise en page différente pour Portrait et Paysage? – Libin
Nop, j'utilise la même mise en page pour Portaint et Paysage .. – Sandak
set android: configChanges = "orientation | screenSize" dans le manifeste pour votre activité pour éviter de recréer votre fragment lorsque l'orientation change – Libin