2012-09-06 14 views
5

Ich habe ein WebView. WebView zeigt HTML mit Text, Bildern, Schaltflächen usw.
Ich möchte einige Dinge machen.

1) Dieser Benutzer kann keinen Text in webView auswählen

2) Das gleiche Verhalten von klicken und langen Klick auf die Schaltfläche.android webview Inhalt nicht wählbar

Ich habe nächste Dinge für meine Probleme zu lösen: Zunächst einmal ich hinzugefügt, um HTML-Seite Stil:

body { 
    ... 
    -webkit-user-select: none; 
    -webkit-touch-callout: none; 
    ... 
} 

Aber es half mir nicht. Diese Lösung funktionierte nicht bei allen Androiden.
Also habe ich versucht, Touch-Listener zu WebView hinzuzufügen.

Code of Zuhörer:

webView.setOnTouchListener(new OnTouchListener() { 

    private float prevX; 
    private float prevY; 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 

     boolean handled = true; 
     if (MotionEvent.ACTION_DOWN == event.getAction()) { 
      prevX = event.getX(); 
      prevY = event.getY(); 
     } else if (MotionEvent.ACTION_UP == event.getAction()) { 
      if (Math.abs(event.getX() - prevX) < 50 
        && Math.abs(event.getY() - prevY) < 50) { 
       handled = (event.getEventTime() - event 
         .getDownTime()) > 200; 
      } 
     } 

     Log.d("-------------------------------------------------", ""+handled); 

     return handled; 
    } 

}); 

Aber diese entweder nicht funktioniert hat, kann ich etwas falsch gemacht? Danach habe ich versucht, langen Klick Zuhörer hinzuzufügen:

webView.setOnLongClickListener(new OnLongClickListener() { 

    @Override 
    public boolean onLongClick(View v) { 
     v.performClick(); 
     return true; 
    } 
}); 

Diese Lösung löst nur das erste Problem.

Also, wo bin ich falsch gelaufen?

+0

Möchten Sie, dass Ihre Webansicht nicht anklickbar sein sollte oder sonst nichts? bitte erarbeiten ... –

+0

Ich möchte, dass Webview anklickbar sein sollte, aber einige Teile der HTML-Seite sollten nicht anklickbar sein. Ich will nicht, dass Benutzer Kopie von Teilen des Textes in der html Seite machen kann. Aber in html Seite habe ich Eingänge und Tasten ... – yugico

+0

Danke für Korrekturen von Fehlern in der Grammatik ... – yugico

Antwort

0

Versuchen Sie es mit addJavascriptInterface(); von WebView. Erstellen Sie eine innere Klasse von Aktivitäten. Die Klasse ist eine Schnittstelle zwischen Android und Ihrem Jscript. Sie müssen JScript dafür verwenden.