WebViewClient显示白屏

时间:2011-12-27 18:03:50

标签: android android-webview

我是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();
                }
            });

3 个答案:

答案 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