链接应该在Android中的相同web视图中打开
我是Android新手,我正试图用这段代码在webview中打开一个链接链接应该在Android中的相同web视图中打开,android,Android,我是Android新手,我正试图用这段代码在webview中打开一个链接 WebView myWebView = (WebView) findViewById(R.id.webinfo); myWebView.loadUrl("http://oslobokfestival.netteam.no/artical.php?articalid=93"); myWebView.setBackgroundResource(R.drawable.lbg); myWebView.set
WebView myWebView = (WebView) findViewById(R.id.webinfo);
myWebView.loadUrl("http://oslobokfestival.netteam.no/artical.php?articalid=93");
myWebView.setBackgroundResource(R.drawable.lbg);
myWebView.setBackgroundColor(Color.TRANSPARENT);
myWebView.getSettings().setJavaScriptEnabled(true);
在这个HTML页面中包含一些链接,我希望当用户单击该链接时,该链接应该在相同的webview中打开,
在这一点上,它在手机浏览器的开放,请给我适当的解决方案。。
谢谢 您需要添加到WebView中才能在WebView中打开它。差不多
myWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return false;
}
});
尝试删除@override并将其放在loadurl之后 这是我的工作
myWebView.loadUrl("http://someurl.com");
myWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
viewx.loadUrl(urlx);
return false;
}
});
重写方法应重写如下的
myWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.toString());
return true;
}
});
并将此标记添加到您的清单文件中,以便通过简单地覆盖即可访问internet
应重写以下方法和
returnsuper.shouldOverrideUrlLoading(查看、请求)
它将处理相同WebView
中的所有链接
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return super.shouldOverrideUrlLoading(view, request);
}
});
你可以检查哪个与你想做的相同。当点击URL>>>>时,你可以得到URL。这是有效的,但是有没有办法允许在新窗口中打开应用了target=\u blank的链接?工作正常,但我想在外部webviewshouldOverrideUrlLoading(webview视图,字符串URL)上添加一个图标
已被弃用,我们可以使用shouldOverrideUrlLoading(WebView视图,WebResourceRequest请求)
来代替。getUrl()需要API级别21,因此您无法在某些设备上运行应用程序。文档说您不应该调用视图。loadUrl(…)
,而只需返回false:“注意:不要调用WebView#loadUrl(字符串)使用请求的URL,然后返回true。这会不必要地取消当前加载,并使用相同的URL启动新加载。继续加载给定URL的正确方法是只返回false,而不调用WebView#loadUrl(String)。“()@Overrideand只是一个注释,告诉您可以(而且应该)重写一个方法把它放在那个里,但要做一些解释,使答案更具针对性!
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl("#");
}
}