Condividi tramite


View.CancelPendingInputEvents Metodo

Definizione

Annullare tutti gli eventi di input di alto livello posticipati precedentemente pubblicati nella coda di eventi.

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

Commenti

Annullare tutti gli eventi di input di alto livello posticipati precedentemente pubblicati nella coda di eventi.

Molte visualizzazioni pubblicano eventi di alto livello, ad esempio gestori di clic, nella coda eventi per l'esecuzione posticipata per mantenere un'esperienza utente desiderata, cancellando gli stati premuti visibili prima dell'esecuzione e così via. Questo metodo interromperà tutti gli eventi di questa natura attualmente in anteprima.

Le visualizzazioni personalizzate che generano eventi di input posticipati di alto livello devono eseguire l'override #onCancelPendingInputEvents() e rimuovere gli eventi in sospeso dalla coda.

In questo modo verranno annullati anche gli eventi di input in sospeso per tutte le visualizzazioni figlio.

Si noti che questo potrebbe non essere sufficiente come strategia di debouncing per i clic in tutti i casi. Ciò non influirà sugli eventi più recenti pubblicati dopo questa chiamata che possono verificarsi a causa di eventi di input di livello inferiore ancora in attesa nella coda. Se si sta tentando di impedire eventi inviati due volte per la durata di una transazione asincrona, è consigliabile eseguire anche altri passaggi per proteggersi da input double imprevisti, ad esempio chiamando e riabilitando #setEnabled(boolean) setEnabled(false) la visualizzazione al termine della transazione, tenendo traccia degli ID transazione già inviati e così via.

Documentazione java per android.view.View.cancelPendingInputEvents().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a