2013-01-03 10 views
12

Die Anwendung, die ich entwickle, hat ein Webview, muss ich erfassen WebView Request Click Events (zB: Klicken Sie auf einen Link, klicken Sie auf eine Schaltfläche, klicken Sie auf einen YouTube-Video-Play-Taste wie ..Android Webview Capture Link klickt

Antwort

3

Verwendung dieser Code.) ist es Arbeit für mich

webview.setWebViewClient(new WebViewClient() 
     { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) 
      { 
       return true; 
      } 
     }); 
14

diese

getan werden kann

Sie WebViewClient auf Ihre WebView zu setzen haben. So geht das.

WebView webView;//make sure to initialize 
webView.setWebViewClient(webViewClient); 

WebViewClient webViewClient= new WebViewClient(){ 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url){ 
     return true; 
    } 
    @Override 
    public void onLoadResource(WebView view, String url){ 
     if(url.equals("http://yoururl.com")){ 
      // do something 
     } 
    } 
} 
+2

Dies gilt nicht fangen das Ereignis in meinem Fall. Gibt es Anforderungen an den XML-Teil? – Virthuss

2

Sie können etwas tun:

WebView myWebView = (WebView) findViewById(R.id.yourWebView); 
myWebView.setWebViewClient(new MyWebViewClient()); 
myWebView.loadUrl("yourLink"); 

aber dann vergessen Sie nicht, einen WebViewClient zu erstellen:

public class MyWebViewClient extends WebViewClient { 

    @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 

      return true; 
     } 
}