2012-11-27 137 views
0

當用戶點擊webview中的鏈接時,我想顯示一個對話框,詢問用戶是否想要在默認瀏覽器中查看它,如果他選擇YES,那麼他應該採取到默認瀏覽器,否則它不應該加載鏈接
但是,我面臨的問題是,我可以顯示對話框內run()的重寫方法shouldOverrideUrlLoading()的run()。當用戶選擇YES時,我正在做startActivity(新的Intent(Intent.ACTION_VIEW,Uri.parse(url)));以默認瀏覽器顯示它。但是,無論用戶選擇是/否,它都會顯示我想要避免的web視圖中的鏈接。任何建議表示讚賞... TIA如何避免在同一個webview中打開webview鏈接

+0

裏面運行()的WebViewClient?也顯示您的YES/NO邏輯。 –

+0

哦!我解決了這個問題,只需在shouldOverrideUrlLoading()方法內重新加載相同的URL即可。感謝您的建議 – Manjunath

回答

0

我解決了這個問題,通過剛剛重裝內shouldOverrideUrlLoading相同的URL()方法。感謝您的建議

1
WebView myWebView = (WebView) findViewById(R.id.webview); 
myWebView.setWebViewClient(new WebViewClient()); 

private class MyWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (Uri.parse(url).getHost().equals("www.example.com")) { 
      // This is my web site, so do not override; let my WebView load the page 
      return false; 
     } 
     // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
     startActivity(intent); 
     return true; 
    } 
} 

http://developer.android.com/guide/webapps/webview.html

相關問題