链接应该在Android的相同的Web视图中打开

我是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.setBackgroundColor(Color.TRANSPARENT); myWebView.getSettings().setJavaScriptEnabled(true); 

并在这个HTML页面中包含一些链接,我希望当用户点击该链接应该打开在同一个webview,在这一点上它在手机浏览器开放,请给我适当的解决scheme..谢谢。

您需要将WebViewClient添加到WebView中才能在WebView中打开它。 就像是

 myWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { view.loadUrl(request.getUrl().toString()); return false; } }); 

尝试删除@Overrideand loadurl后这个工作对我来说…

 myWebView.loadUrl("http://someurl.com"); myWebView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) { viewx.loadUrl(urlx); return false; } }); 

重写WebViewClient的方法shouldOverrideUrlLoading ,如下所示:

 myWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { view.loadUrl(request.toString()); return true; } }); 

并在你的清单文件中添加这个标签<uses-permission android:name="android.permission.INTERNET" />要访问互联网

对我来说,它的作品简直是压倒一切

shouldOverrideUrlLoading方法和

返回super.shouldOverrideUrlLoading(view, request)

这将处理在同一WebView所有链接。

 webview.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { return super.shouldOverrideUrlLoading(view, request); } });