Language

FragmentTransaction.CommitNow メソッド

定義

このトランザクションを同期的にコミットします。

[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
属性

注釈

このトランザクションを同期的にコミットします。 追加されたフラグメントはすべて初期化され、ホストのライフサイクル状態に完全に取り込まれ、削除されたフラグメントは、この呼び出しが戻る前に適宜切断されます。 この方法でトランザクションをコミットすると、フラグメントを専用のカプセル化されたコンポーネントとして追加でき、ホストのライフサイクル状態を監視しながら、それらのフラグメントが完全に初期化され、準備ができたときに、より強固な順序付けが保証されます。 ビューを管理するフラグメントには、これらのビューが作成され、アタッチされます。 commitNow の呼び出しは、commit() の後に FragmentManager.executePendingTransactions() を呼び出す場合に適しています。後者は、それが目的の動作であるかどうかに関係なく、現在保留中のすべてのトランザクションをコミットしようとする副作用を持ちます。

この方法でコミットされたトランザクションは FragmentManager のバック スタックに追加されない可能性があります。これにより、他の非同期コミットされたトランザクションに対する他の予期される順序付け保証が損なわれる可能性があります。 このメソッドは、トランザクションが以前に addToBackStack(String) を使用してバック スタックに追加することを要求した場合に IllegalStateException をスローします。

トランザクションは、その状態を保存するアクティビティを含む前に、このメソッドでのみコミットできます。 その後にコミットが試行されると、例外がスローされます。 これは、アクティビティを状態から復元する必要がある場合に、コミット後の状態が失われる可能性があるためです。 コミットが失われる可能性がある状況については、commitAllowingStateLoss() を参照してください。

android.app.FragmentTransaction.commitNowの Android リファレンス。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象