La mia app Android ha un'impostazione del flusso di registrazione con un'attività e carico i passaggi come frammenti nel layout dell'attività.Come ricaricare i frammenti nel backstack dopo il cambio di orientamento
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
tools:context="com.example.android.ui.RegisterActivity">
<LinearLayout
android:id="@+id/register_container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"></LinearLayout>
</RelativeLayout>
Ora ogni classe frammento implementa un'interfaccia pubblica implementato nel RegisterActivity in modo che io conosco per caricare il frammento successivo passo e aggiungere il nuovo frammento alla backstack
mFragmentTransaction.addToBackStack(mStepOne.TAG);
ora tutto funziona benissimo in tutto 4 passaggi e posso tornare indietro attraverso i passaggi pur mantenendo i dati immessi in ogni frammento SE rimane nello stesso orientamento (portait)
MA una volta ho chang e l'orientamento, il punto di vista frammento scompaiono
se sono fino al punto 3, posso ancora colpire il pulsante indietro e sarà tornare indietro mi mostra il frammento che è destinato a essere lì visualizzando la backstack cambiato ascoltatore
Il conteggio e i tag dei frammenti vengono mantenuti ma non le viste. RegisterActivity onCreateView carica i termini frammento nella vista ed è ciò che rimane in vista durante la navigazione di nuovo attraverso i passaggi.
mFragmentManager = getSupportFragmentManager();
mFragmentTransaction = mFragmentManager.beginTransaction();
mTerms = new RegisterFragmentTerms();
mFragmentTransaction.add(R.id.register_container, mTerms);
mFragmentTransaction.commit();
Mi sembra che le viste siano caricate in RegisterActivity l'una sopra l'altra e cancellate dal cambio di orientamento. È possibile risolvere ciò che sto cercando di fare? o l'ho implementato in modo errato? E 'la mia prima applicazione Android :)
Acclamazioni
E 'stato semplicemente così facile lol, acclamazione amico, Questo è quello che ottieni quando impari qualcosa di nuovo :) – CaptRisky
** Per altre persone che leggono questo, questa non è una soluzione sicura. ** Ci sono altri scenari in cui Android ucciderà la tua attività. Ad esempio, quando vengono utilizzate altre app affamate di risorse mentre l'app è ridotta a icona. –
@ G.Steigert, se è solo per il cambio di orientamento, è probabilmente sicuro, mentre per il ripristino dello stato dopo la ricreazione delle attività o il riavvio del processo, questo è sicuramente un altro argomento. – jobcrazy