Sprache

FragmentTransaction.CommitNow Methode

Definition

Führt einen synchronen Commit für diese Transaktion durch.

[Android.Runtime.Register("commitNow", "()V", "GetCommitNowHandler", ApiSince=24)]
public abstract void CommitNow();
[<Android.Runtime.Register("commitNow", "()V", "GetCommitNowHandler", ApiSince=24)>]
abstract member CommitNow : unit -> unit
Attribute

Hinweise

Führt einen synchronen Commit für diese Transaktion durch. Alle hinzugefügten Fragmente werden initialisiert und vollständig in den Lebenszyklusstatus ihres Hosts gebracht, und alle entfernten Fragmente werden entsprechend nach unten verschoben, bevor dieser Aufruf zurückgegeben wird. Wenn Sie eine Transaktion auf diese Weise commiten, können Fragmente als dedizierte, gekapselte Komponenten hinzugefügt werden, die den Lebenszyklusstatus ihres Hosts überwachen und gleichzeitig eine feste Sortiergarantie bereitstellen, wenn diese Fragmente vollständig initialisiert und bereit sind. Fragmente, die Ansichten verwalten, werden diese Ansichten erstellt und angefügt. Das Aufrufen von commitNow ist vorzuziehen, um Commit() gefolgt von FragmentManager.executePendingTransactions() aufzurufen, da letzteres die Nebenwirkung hat, alle derzeit ausstehenden Transaktionen zu übernehmen, unabhängig davon, ob dies das gewünschte Verhalten ist oder nicht.

Transaktionen, die auf diese Weise zugesichert werden, werden möglicherweise nicht zum Back-Stack des FragmentManagers hinzugefügt, da dadurch andere erwartete Bestellgarantien für andere asynchron zugesicherte Transaktionen abgebrochen würden. Diese Methode löst IllegalStateException aus, wenn die Transaktion zuvor angefordert wurde, dem Back-Stapel mit addToBackStack(String) hinzuzufügen.

Eine Transaktion kann nur mit dieser Methode vor dem speichernden Zustand der Aktivität zugesichert werden. Wenn der Commit nach diesem Punkt versucht wird, wird eine Ausnahme ausgelöst. Dies liegt daran, dass der Zustand nach dem Commit verloren gehen kann, wenn die Aktivität aus dem Zustand wiederhergestellt werden muss. Sehen Sie sich commitAllowingStateLoss() für Situationen an, in denen es in Ordnung sein kann, den Commit zu verlieren.

Android-Referenz für android.app.FragmentTransaction.commitNow.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: