Android的WebViewClient onReceivedError不叫404错误 [英] Android WebViewClient onReceivedError is not called for a 404 error

查看:2587
本文介绍了Android的WebViewClient onReceivedError不叫404错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


结果
在列表视图中我有这应该从服务器的时候,有没有像present我需要一个虚拟的形象。我试图加载一个图像文件的网页流量

hi
In a list view i have an webview which should load a image file from the server,when there is no image present i need a dummy image .I tried

holder.image.setWebViewClient(new WebViewClient()
{
                  @Override
                public void onReceivedError( WebView view, int errorCode, String description, String failingUrl) 
                {

                    System.out.println("description error" + description);
                    view.setVisibility( View.GONE );

                }

                @Override
                public void onPageFinished(WebView view, String url) {

                    view.setVisibility( View.VISIBLE );


                }


   }); 

我有这个网页视图在一个的FrameLayout的虚拟形象,onPageFinished侦听每个图像的URL加载后调用,但onReceivedError不叫为其生产404 error.Any猜测如何做到这一点的URL。

I have this webview with an dummy image in a FrameLayout, onPageFinished listener is called after every image url is loaded, but onReceivedError is not called for a url which produce a 404 error.Any guess how to do it.

推荐答案

今天我有同样的问题,

问题:onPageFinished总是被调用。如果有错误,将onErrorReceived之后被调用。

The problem: onPageFinished is called always. If there is an error it will be called after onErrorReceived.

这是我已经找到了解决办法:

This is the solution I've found:

holder.image.setWebViewClient(new WebViewClient() {

    private boolean error;

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {

        super.onPageStarted(view, url, favicon);
        error = false;
    }

    @Override
    public void onReceivedError( WebView view, int errorCode, String description, String failingUrl)  {

        error = true;
        System.out.println("description error" + description);
        view.setVisibility( View.GONE );
    }

    @Override
    public void onPageFinished(WebView view, String url) {

        if (!error) {
            view.setVisibility( View.VISIBLE );
        }
        error = false;
    }

});

这篇关于Android的WebViewClient onReceivedError不叫404错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆