我在我的Android应用程序中有一个webview,但是当有人在网站上导航时,它会在新窗口中打开,我希望它保留在webview中..有没有办法轻松地做到这一点?这是我活动中的代码:
super.onCreate(savedInstanceState);
setContentView(R.layout.shop);
WebView webview;
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.google.co.uk");
答案 0 :(得分:41)
您必须创建WebViewClient
:
public class myWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
然后将其设置为WebView
,如下所示:
webview.setWebViewClient(new myWebViewClient());
答案 1 :(得分:27)
或者您可以这样做,而无需创建新类:
myWebView.setWebViewClient(new WebViewClient());
它对我有用。
答案 2 :(得分:1)
webview.setWebViewClient(new WebViewClient());
如果要自定义,则应覆盖shouldOverrideUrlLoading (WebView view, String url)
。但API 24中已弃用。您可以使用public boolean shouldOverrideUrlLoading (WebView view,WebResourceRequest request)
。实际上他们两个都需要返回false。