我已将我的Webview设置为缓存它访问的每个页面(在线时)。我还需要在Webview上显示一个自定义视图,以防设备脱机并且用户尝试加载网页但未缓存。
即使页面已从缓存加载,似乎调用了onReceivedError()
类的WebViewClient
方法,并且它设置了相同的错误代码,即-2
显然意味着ERROR_HOST_LOOKUP
有没有办法确定网页是否失败并且未从缓存中加载,那么我可以向用户显示自定义视图?不,我不能禁用缓存,我需要保留它。
答案 0 :(得分:1)
我最近不得不解决这个问题而且已经破解了它:我注意到在加载缓存内容时;在onReceivedError()之前多次调用WebViewClient的onLoadResource()。没有缓存内容时; onLoadResource()仅在onReceivedError()之前调用过一次。
我使用此行为差异来设置onReceivedError()中使用的标志,以确定是否应显示我的错误视图。
E.g:
package
编辑:这是一个没有任何意义的工作API的好替代 ......但这是我能做的最好的缺乏。