I eine Aktivität mit Aktionsleiste tab. Jede Registerkarte enthält ein Fragment. Jetzt, wenn ich mein Gerät rotiere, kommt das Bündel in meinem entsprechenden Fragment als null. Dies ist vorsichtig, wenn ich Geräte-Post-android 3.2 verwende, aber es passiert, wenn das Gerät Andoird3.0 ist. Ich habe Kopfschmerzen, nachdem ich an diesem Thema gearbeitet habe. Ich überprüfte verschiedene Links auf SO, aber keine Hilfe. Obwohl ich genug Details gegeben habe, werde ich immer noch ein Code-Snippet bereitstellen, da der Benutzer bei verschiedenen Fällen nach einem Code-Snippet fragt.Fragment saveInstanceState kommt als null nach der Orientierungsänderung
In meinem Fragment Klasse ich diesen Wert zu speichern
@Override
public void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putBoolean("textboxVisible", true);
}
diese eine boolean Variable zu speichern, die es, wie unten retrived.
/**
* 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
}
}
}
aber nach der Drehung savedInstanceState kommt als null. Ich mache nicht was falsch läuft. Ich habe in einem Dokument gelesen, dass unter 3.2 das onCreateView() von Fragment nicht mit Bundle-Wert aufgerufen wird. Aber damit umzugehen. Jede Hilfe wird geschätzt.
Sind Sie mit android: configChanges ?? – Faizan
Haben Sie auch versucht, setRetainInstance (true); ???? – Faizan
Grundsätzlich verwende ich zwei verschiedene Layout für Querformat und Hochformat. Also kann nicht Android: ConfigChange. Und setRetainInstance (true), ich habe nicht im aktuellen Szenario verwendet, aber ich habe es früher verwendet, es hat nicht funktioniert. Noch einen Versuch in aktuellem Szenario gibt auch – random4Infinity