我是Android应用开发的新手。我正在设法显示一个WebView并加载一个给定的URL。当我点击WebView中的一个链接时,我得到一个空白的白屏。
当我在设备上使用Chrome浏览器(Galaxy TAB)时,它可以正常工作。实际上,我正试图在我的WebView中模仿Chrome。
有人知道问题出在哪里吗?
这是我在WebView中使用的WebViewClient:
siteView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
siteView.loadUrl(urlNewString);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (dialog == null || !dialog.isShowing()) {
if(isFirstTime) {
dialog = ProgressDialog.show(MyActivity.this, "", getString(R.string.loadingMessage), true, false);
MyActivity.isFirstTime = false;
}
}
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});发布于 2011-12-28 15:42:42
问题可能出在您的shouldOverrideUrlLoading函数中。您正在接收“视图”作为参数,而您使用"siteView“来加载url。您的函数应如下所示:
public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
view.loadUrl(urlNewString); // you are using siteView here instead of view
return true;
} 希望这对你有用。
发布于 2013-05-28 19:20:30
在将任何内容加载到webview之前尝试siteView.invalidate()
发布于 2016-11-04 00:43:24
确保url以http://.开头如果没有http,它只会显示白屏。因为大多数情况下,您将复制url,它将以www.something.com/asdf开头。这是行不通的。将其更改为http://www.something.com/asdf。
https://stackoverflow.com/questions/8647751
复制相似问题