次の方法で共有


View.CancelPendingInputEvents メソッド

定義

以前にイベント キューにポストされた遅延の高レベル入力イベントをすべて取り消します。

[Android.Runtime.Register("cancelPendingInputEvents", "()V", "")]
public void CancelPendingInputEvents ();
[<Android.Runtime.Register("cancelPendingInputEvents", "()V", "")>]
member this.CancelPendingInputEvents : unit -> unit
属性

注釈

以前にイベント キューにポストされた遅延の高レベル入力イベントをすべて取り消します。

多くのビューでは、目的のユーザー エクスペリエンスを維持するために遅延実行するイベント キューへのクリック ハンドラーなど、高度なイベントがポストされます。つまり、実行前に表示されている押された状態をクリアします。このメソッドは、現在実行中のこの性質のイベントをすべて中止します。

独自の高レベル遅延入力イベントを生成するカスタム ビューは、キューからそれらの保留中のイベントをオーバーライド #onCancelPendingInputEvents() して削除する必要があります。

これにより、子ビューの保留中の入力イベントも取り消されます。

これは、すべてのケースでクリックのデバウンス戦略として十分ではない可能性があることに注意してください。 これは、この呼び出しの後にポストされた新しいイベントには影響しません。これは、下位レベルの入力イベントがまだキューで待機している結果として発生する可能性があります。 何らかの非同期トランザクションの期間中に二重送信イベントを防ぐ場合は、トランザクションが完了したときにビューを呼び出 #setEnabled(boolean) setEnabled(false) して再度有効にする、送信済みのトランザクション ID の追跡など、予期しない二重入力から保護する他の手順も実行する必要があります。

の Java ドキュメントandroid.view.View.cancelPendingInputEvents()

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象