我是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();
}
});
答案 0 :(得分:4)
尝试siteView.invalidate()
在将任何内容加载到webview之前
答案 1 :(得分:3)
问题可能出在你的shouldOverrideUrlLoading函数中。您正在接收"查看"作为参数,您使用" siteView"加载网址。您的功能应如下所示:
public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
view.loadUrl(urlNewString); // you are using siteView here instead of view
return true;
}
希望这适合你。
答案 2 :(得分:1)
确保网址以 http:// 开头。没有http它只会显示白屏。因为大多数情况下你会复制网址,它会以www.something.com/asdf
开头。那样不行。将其更改为http://www.something.com/asdf
。