链接应该在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); } });
- Android SharedPreferences最佳实践
- app-debug.apk和app-debug-unaligned.apk之间的区别
- 为什么我的three.js场景中的焦点仍然集中在相机的视angular,但只在Chrome的Android?
- java.lang.NoClassDefFoundError:com.google.android.gms.internal.zzmp
- 如何从Java的keytool获取MD5指纹,而不仅仅是SHA-1?
- 如何多次运行相同的asynctask?
- Firebase onTokenRefresh()未被调用
- Android SDK:获取原始预览相机图像而不显示它
- Android在主屏幕上创build快捷方式