Ich kenne Figur 2 von Ссылка Ich frage mich, was passiert aus "Fragment Active", wenn ich das rotiere Bildschirm und schließlich wieder in "Fragment Active".
Hintergrund meiner Frage ist, dass ich eine App habe, die gut funktioniert, unabhängig davon, ob ich sie im Hoch- oder Querformat starte. Aber auf dem Bildschirm dreht es sich ab
%Vor%Dieses Fragment hat im Grunde nur onCreateView implementiert, nichts anderes
%Vor%Wenn ich weiß, was genau auf der Bildschirmdrehung passiert, hoffe ich, das Problem zu lösen ...
BEARBEITEN:
Ich habe versucht, was der Kommentator vorgeschlagen hat, einige weitere Informationen dazu. Also schlagen sie alle vor, ein leeres Aktivitätslayout zu haben und die Fragmente programmatisch hinzuzufügen, wenn ich das richtig sehe. Ich habe eine main.xml für Hochformat und eine für Landschaft, beide sehen jetzt sehr ähnlich aus (Unterschied ist horizontal vs. vertikal):
main.xml:
%Vor%Die onCreate-Methode meiner Aktivität sieht folgendermaßen aus:
%Vor%Die Bildschirmdrehung scheint damit zu funktionieren (danke bis jetzt!), aber in der Landschaft sehe ich nur das erste Fragment im Porträt Ich sehe beides, das zweite mehrmals (je öfter ich rotiere, desto öfter werden sie hinzugefügt) . Entweder habe ich ein Layout-Problem oder ich kann mehrere Fragmente nicht hinzufügen. Ich versuche immer noch herauszufinden, ob es sich um ein Layout-Problem handelt, aber noch keine Ahnung. Irgendein Hinweis?
Wie ich Ihr Problem verstehe, sollten Sie nicht jedes Mal Fragmente hinzufügen. Sie sollten ersetzen, was gerade dort ist mit Ihrem neuen Fragment.
%Vor% Wie für den Fragment
Lebenszyklus - wenn Sie den Bildschirm drehen, wird das Hosting Activity
zerstört und neu erstellt; also alles richtig bis onDetach()
heißen soll gefolgt von allem was mit onAttach()
beginnt.
Der sicherste Weg wäre, alle Lebenszyklusmethoden zu überschreiben und eine Protokollmeldung in alle zu schreiben: -)
Tags und Links android android-fragments