Seltsames Verhalten der Aktivitätsorientierung in Android ändern

9

Ich stehe vor einem sehr seltsamen Problem in der Handhabung der Orientierung der Aktivität. Lassen Sie mich das Szenario erklären

Ich habe Activity A und B.Currently A ist im Querformat und B (fixiert) ist im Hochformat. Ich bewahre den Aktivitätszustand A, wenn der Benutzer die Ausrichtung von A ändert. Ich ging von A (Landschaft) zu B (Porträt) . In diesem Fall ist A also im Hintergrund sollte die Methode onSaveInstance (Bundle) aufrufen. Aber es ruft an und wenn ich zurückkomme, dann wird A's bei Resume () aufgerufen und ich bekam die Ausnahme onResume () kann nicht nach onSaveInstance () für A aufgerufen werden.

Das ist etwas, das mich nervt.

Aktualisieren Bearbeiten

Wenn beide Aktivitäten eine Orientierung haben können. Dann ruft die Aktivität A onSaveInstance (Bündel) nicht auf, während Sie nach B gehen, und es funktioniert gut

    
Sameer 13.12.2012, 10:08
quelle

1 Antwort

5

Auch wenn ich noch auf eine logische Beschreibung warte. Aber ich habe mein Problem gelöst. Wenn Sie in jedem Fall von Aktivität A nach B onsaveInstance () eines Anrufs gehen. Also bei der Rückkehr Aktivität wieder gestartet, aber onsaveInstance () ruft nicht erneut. Also habe ich

bekommen %Vor%

Grund - Ich denke, da der Aktivitätsstatus bereits gespeichert ist, kann onResume () nicht aufgerufen werden. Und das Hauptproblem ist onSaveInstance (Bundle) ist nicht ein Teil des Lebenszyklus der Aktivität, also seine sehr schmerzhafte Situation.

Lösung - Ich entferne super.onSavaInstance (Bundle) von onSaveInstance (Bundle) . Und Problem gelöst. Es funktioniert immer noch für Orientierungsänderungen

    
Sameer 15.12.2012, 04:27
quelle