首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android -多个webViews和多个webViewClient : shouldOverrideUrlLoading没有调用新的webViewClient

Android -多个webViews和多个webViewClient : shouldOverrideUrlLoading没有调用新的webViewClient
EN

Stack Overflow用户
提问于 2015-06-05 07:51:06
回答 1查看 1.6K关注 0票数 0

我有一个android活动,其中有一个片段,专门用于多个with视图。

我已经实现了关于多个webview方法的尽可能多的方法,包括

代码语言:javascript
复制
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) { 
    // source code here ... 
}

对于第一个For视图,shouldOverrideUrlLoading(..)打电话给OK。

但是,当我遵循一些链接并创建一个新的new视图时,设置与第一个相同,分配新的webViewClient和新的webChromeClient。

新的webViewClient覆盖函数,如onPageStart(.)、onPageFinished(.)会打电话给你,

但是只有shouldOverrideUrlLoading()没有在新的new视图上被调用,尽管它有一个全新的webViewClient实例。

我检查了两个webViewClient的实例it,并确认它们对于每个‘ve视图都有不同的实例it(这很好,因为这意味着两个’ve视图实际上都有不同的webViewClients实例)。

我不知道为什么webViewClient的新实例不会触发shouldOverrideUrlLoading()函数。

有人能帮我吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-08-20 11:47:24

情况也很相似。在您的web客户端中,您可以实现以下内容:

代码语言:javascript
复制
    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
       WebResourceResponse response = super.shouldInterceptRequest(view, request);
    return response;
}

你可以在中间设置一个断点,看看是怎么回事。我的问题是请求方法是POST,并且没有触发shouldOverrideUrlLoading,所以确保您的请求方法是GET.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30661175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档