我在用WebViewClient。我们应该看到onPageStarted()回调总是与shouldOverrideUrlLoading()回调配对吗?如果我在我的WebView中加载了WebView,我们应该看到这两个方法都被召回了吗?从医生那里:
onPageStarted()
通知主机应用程序页面已开始加载。对于每个主框架加载,此方法只调用一次,因此具有iframes或框架集的页面将为主框架调用一次onPageStarted。这也意味着当嵌入式帧的内容发生变化时,不会调用onPageStarted,即单击目标为iframe的链接。
shouldOverrideUrlLoading()
当一个新的url即将加载到当前的
中时,WebView给主机应用程序一个接管控件的机会。如果没有提供WebViewClient,默认情况下,WebView将要求Activity为url选择合适的处理程序。如果提供了WebViewClient,返回true意味着主机应用程序处理url,而返回false则意味着当前WebView处理url。
我在每种方法中都放了一条日志语句,我发现它们并不总是成对的。在什么情况下,他们不会是?
谢谢
http://developer.android.com/reference/android/webkit/WebViewClient.html
发布于 2014-08-28 19:15:29
我知道这个问题很老,但无论如何都要回答。AFAIK,将为页面中的每个url调用shouldOverrideUrlLoading(),其中as onPageStart()将只为页面的顶部url调用。
https://stackoverflow.com/questions/9808420
复制相似问题