2010-10-04 10 views

risposta

62
mWebView.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     return true; 
    } 
}); 

disattiva tutti gli eventi touch su un WebView perché il tocco ascoltatore viene eseguito prima il comportamento predefinito tocco del WebView. Restituendo true l'evento viene consumato e non viene propagato allo WebView.

L'utilizzo di android:clickable="false" non disattiva gli eventi di tocco.

+0

Quindi, come ripristinare gli eventi? Immagina di doverli temporaneamente disattivare e quindi riattivarli quando ne ho bisogno. – Hosane

+2

In realtà, l'impostazione di entrambi "android: cliccabile" e longClickable dovrebbe fare il trucco per una visualizzazione Web –

1

Se ho capito bene, è sufficiente sovrascrivere il metodo onTouchEvent.

+0

Molto probabilmente dovrebbe funzionare. Mi stavo chiedendo se ci fosse una proprietà o qualcosa di più semplice di così. – hpique

+0

Ah vedo bene quindi potresti voler provare a dare alla tua WebView questo parametro di layout android: clickable = "false". Non sono sicuro che funzioni, ma teoricamente dovrebbe come WebView è ereditato da View. –

+0

Non funziona ma ho trovato un'altra soluzione che ho pubblicato. – hpique

Problemi correlati