2010-10-04 15 views

Odpowiedz

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

Wyłącza wszystkie zdarzenia dotykowe na WebView ponieważ dotyk słuchacz jest wykonywany przed domyślne zachowanie dotykowym WebView. Zwracając true wydarzenie jest zużywane i nie jest propagowane do WebView.

Użycie android:clickable="false" nie powoduje wyłączenia zdarzeń dotykowych.

+0

Następnie, jak przywrócić zdarzenia? Wyobraź sobie, że muszę tymczasowo je wyłączyć, a następnie ponownie je włączyć, gdy będę potrzebować. – Hosane

+2

W rzeczywistości ustawienie "android: clickable" i longClickable powinno wystarczyć do wyświetlenia strony internetowej –

1

Jeśli masz rację, po prostu trzeba nadpisać metodę onTouchEvent.

+0

Najprawdopodobniej to powinno zadziałać. Zastanawiałem się, czy istnieje nieruchomość lub coś prostszego. – hpique

+0

Ah Widzę dobrze, możesz chcieć dać swojemu WebView ten parametr układu android: clickable = "false". Nie jestem pewien, czy to działa, ale teoretycznie powinno tak, jak WebView jest dziedziczone z widoku. –

+0

Nie działa, ale znalazłem inne rozwiązanie, które opublikowałem. – hpique

Powiązane problemy