[JAVA] Informationen zum Aufruf-Timing und zu den Argumenten der addToBackStack-Methode

Ich habe neulich angefangen, Android-Apps zu entwickeln, und während ich studierte, während ich mir den Text ansah, Ich hatte eine Frage zur Verwendung der addToBackStack-Methode, daher schreibe ich sie auf.

Wenn die Artikelliste ausgewählt ist, wechselt der Bildschirm als Betrieb der Anwendung zum Bildschirm mit den ausgewählten Artikeldetails. Wenn Sie die Zurück-Taste drücken, kehren Sie zur Liste zurück.

Verwenden Sie die addToBackStack-Methode, um den Status des Rückgabeziels zu speichern. Die im Text beschriebene Verwendung von addToBackStack ist wie folgt.

//Liste im Detail ersetzen
fragmentTransaction.replace(R.id.fragment1,myFragment2);

//Speichern Sie die ursprüngliche Transaktion zur Verarbeitung, wenn Sie die Zurück-Taste drücken
fragmentTransaction.addToBackStack(null);

Die folgenden zwei Punkte haben mich gefragt, wann ich diesen Code gesehen habe.

  1. Timing des Methodenaufrufs
  2. Methodenargumente

Der Inhalt der Untersuchung zu den beiden oben genannten Punkten ist nachstehend zusammengefasst.

1. Timing des Methodenaufrufs

Mit Blick auf den obigen Code, Nach dem Ersetzen des Fragments durch die fragmentTransaction.replace-Methode Der Status wird durch die Methode fragmentTransaction.addToBackStack gespeichert.

Die Frage hier ist Die Frage ist, dass Sie beim Speichern nach dem Austausch möglicherweise den Status des Rückgabeziels nicht speichern können. Mit anderen Worten Fragmentersatz ⇒ speichern nicht, Speichern ⇒ Fragment ersetzen Ich dachte es sollte sein.

Wenn Sie sich also die Beschreibung von addToBackStack in Android-Entwicklern ansehen,

Add this transaction to the back stack. This means that the transaction will be remembered after it is committed, and will reverse its operation when later popped off the stack.

Grob übersetzt, Speichern Sie die Transaktion auf dem Stapel. Es wird nach dem Festschreiben auf dem Stapel aufgezeichnet. Es wird wiederhergestellt, wenn es vom Stapel genommen wird.

Leider habe ich die Antwort nicht bekommen. Danach suchte ich nach Blogs usw., bekam aber keine klare Antwort. Danach, als ich untersuchte, das Bildschirmlayout auf Tablets und Smartphones zu ändern, Ich habe die Antwort gefunden. Auf der Fragmentbeschreibungsseite (https://developer.android.com/guide/components/fragments.html?hl=ja) Ich habe die folgende Beschreibung gefunden.

Wenn Sie mehrere Änderungen an einer Transaktion vornehmen (z. B. add () oder remove ()) und addToBackStack () aufrufen, werden alle vor dem Aufruf von commit () vorgenommenen Änderungen als eine Transaktion in den Backstack übernommen. Wählen Sie nach dem Hinzufügen die Schaltfläche Zurück, und alles wird gleichzeitig wieder angezeigt.

Mit anderen Worten, die addToBackStack-Methode speichert die Unterschiede. Wenn Sie die Differenz speichern möchten, ersetzen Sie Fragment ⇒ Speichern.

2. Methodenargumente

Dies ist einfach die Frage: "Was bedeutet es, ein NULL-Argument zu haben?"

Diese Frage wird von Android-Note erklärt (http://android-note.open-memo.net/sub/fragment__fragment_stack.html) Es gab die folgende Beschreibung in.

Wenn Sie nicht mehrere Fragmente auf dem Stapel speichern möchten und nur das aktuelle speichern möchten, übergeben Sie null wie folgt:

Das war's.

das ist alles.

Github Link

Repository https://github.com/tagfa/MyGUIFragmentDynamic02 Wo wird die addToBackStack-Methode verwendet? https://github.com/tagfa/MyGUIFragmentDynamic02/blob/master/app/src/main/java/com/example/tag/myguifragmentdynamic02/MainActivity.java

Recommended Posts

Informationen zum Aufruf-Timing und zu den Argumenten der addToBackStack-Methode
[Ruby] Fragen und Überprüfung der Anzahl der Methodenargumente
Über Biocontainer fastqc und Java
Informationen zur Rolle der Initialisierungsmethode
Informationen zu removeAll und RetainAll von ArrayList
Überladungsmethode mit Int- und Integer-Argumenten
Informationen zur Funktionsweise von next () und nextLine ()
Denken Sie an die Kombination von Servlet und Ajax
[Ruby] Schlüsselwörter mit Schlüsselwörtern und Standardwerten von Argumenten
[Java] Dynamischer Methodenaufruf durch Reflektion des Aufzählungstyps (Aufzählung)
Informationen zu next () und nextLine () der Scannerklasse
Zusammenfassung der japanischen Zeiteinstellung und Anzeigemethode
Überprüfen Sie die Argumente für Methodenaufrufe in Blöcken mit RSpec
Informationen zu den Zeichen, die im Argument der Methode vervollständigt werden
Über die Methode
Übergeben Sie ein Argument an die Methode und erhalten Sie das Ergebnis der Operation als Rückgabewert
[Grails] Über den Einstellungsbereich und die Einstellungselemente von application.yml
[Java] Über Objects.equals () und Überprüfung des String-Vergleichs (== und gleich)
[Technisches Memo] Über die Vor- und Nachteile von Ruby
Achten Sie auf Ruby-Methodenaufrufe und Variablenreferenzen
[Java] [Kotlin] Rufen Sie valueOf und Werte von Enum generisch auf