Ho un'attività con la scheda della barra delle azioni. Ogni scheda contiene un frammento. Ora quando ruoto il mio dispositivo, il bundle nel mio frammento corrispondente sta diventando nulla. Questo è curato quando utilizzo il dispositivo Android 3.2, ma succede quando il dispositivo è Android 3.0. Sto avendo un mal di testa dopo aver lavorato su questo problema. Ho attraversato il controllo di vari link su SO, ma nessun aiuto. Sebbene abbia fornito abbastanza dettagli, fornirò ancora alcuni snippet di codice in quanto in vari casi l'utente richiede il frammento di codice.Il frammento saveInstanceState viene considerato nullo dopo il cambio di orientamento
Nella mia classe frammento sto memorizzazione di questo valore
@Override
public void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putBoolean("textboxVisible", true);
}
questo sta memorizzando una variabile booleana cui retrived come di seguito.
/**
* Function called after activity is created. Use this
* method to restore the previous state of the fragment
*/
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null)
{
//restore the state of the text box
boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible");
if (textboxVisible)
{
//do some stuff
}
}
}
ma dopo la rotazione savedInstanceState sta venendo nullo. Non so cosa stia sbagliando. Ho letto in alcuni documenti che al di sotto del 3.2 il onCreateView() del frammento non viene chiamato con il valore del bundle. Ma per affrontare questo. Qualsiasi aiuto sarà apprezzato.
Stai usando Android: configChanges ?? – Faizan
Inoltre, hai provato setRetainInstance (true); ???? – Faizan
Fondamentalmente sto usando due layout diversi per la modalità orizzontale e verticale. Quindi non è possibile utilizzare Android: configChange. E setRetainInstance (true), non ho usato lo scenario corrente ma l'ho usato prima, non funzionava. Ancora proverai nello scenario attuale anche – random4Infinity