Java android webview留在应用程序中
我的android应用程序中有一个webview,但当有人在网站上导航时,它会在一个新窗口中打开,我希望它保持在webview中。。有没有一种方法可以轻松做到这一点?以下是我的活动中的代码:Java android webview留在应用程序中,java,android,webview,android-widget,Java,Android,Webview,Android Widget,我的android应用程序中有一个webview,但当有人在网站上导航时,它会在一个新窗口中打开,我希望它保持在webview中。。有没有一种方法可以轻松做到这一点?以下是我的活动中的代码: super.onCreate(savedInstanceState); setContentView(R.layout.shop); WebView webview; webview = (WebView) findViewById(R.id.webview); webvie
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");
您必须创建一个
WebViewClient
:
public class myWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
然后将其设置为您的WebView
,如下所示:
webview.setWebViewClient(new myWebViewClient());
或者,您可以这样做,而无需创建新类:
myWebView.setWebViewClient(new WebViewClient());
它对我有用
webview.setWebViewClient(new WebViewClient());
如果要自定义,则应重写
shouldOverrideUrlLoading(WebView视图,字符串url)
。但它在API 24中被弃用。您可以使用公共布尔shouldOverrideUrlLoading(WebView视图、WebResourceRequest请求)。实际上,它们都需要返回false
Android N上不推荐使用可能重复的
shouldOverrideUrloading
。请检查是否不工作。点击那个按钮时什么也没发生这对我来说很有效