sel*_*lva 30 android android-webview
我使用WebView做了一个示例应用程序,在该Web视图中,URL来自Web服务.它工作正常,但如果我点击该WebView中的任何链接,它会自动转到默认的Web浏览器.但我想在我的应用程序Web视图中打开.这是我的代码:
WvBikeSite = (WebView) findViewById(R.id.wv_bikeWebsite);
wvBikeSite.loadUrl(getBundle.getString("www"));
Run Code Online (Sandbox Code Playgroud)
小智 69
您必须为webView设置webViewClient.
样品:
this.mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
Mar*_*ons 10
您需要设置WebViewClient才能覆盖该行为(使用Web浏览器打开链接).您显然已声明了WebView,但随后设置了WebViewClient,如下所示:
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());
Run Code Online (Sandbox Code Playgroud)
然后你需要定义你的WebViewClient():
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("www.example.com")) {
// Designate Urls that you want to load in WebView still.
return false;
}
// Otherwise, give the default behavior (open in browser)
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
然后启动WebViewClient:
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new MyWebViewClient());
Run Code Online (Sandbox Code Playgroud)
http://developer.android.com/guide/webapps/webview.html
我面临同样的问题,我只是通过添加单行修复它.
webview.setWebViewClient(new WebViewClient());
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题.
| 归档时间: |
|
| 查看次数: |
69230 次 |
| 最近记录: |