![](/img/trans.png)
[英]WebViewClient in android 2.2 shouldOverrideUrlLoading not called
[英]Android - multiple webViews with multiple webViewClient : shouldOverrideUrlLoading not called on new webViewClient
我有一個Android活動,其中一個片段專用於多個Webview。
我已經實現了關於多種Webview方法的能力,包括
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
// source code here ...
}
對於第一個Web視圖,應該將shouldOverrideUrlLoading(..)稱為OK。
但是,當我點擊一些鏈接並創建一個新的webview時,設置與第一個完全相同,分配新的webViewClient和新的webChromeClient。
新的webViewClient覆蓋函數(例如onPageStart(..),onPageFinished(..))將調用ok,
但是,盡管它具有全新的webViewClient實例,但只有在新的webview上不應該調用OverrideUrlLoading()。
我已經檢查了兩個webViewClient的實例ID,並確認它們對於每個WebView都有不同的實例ID(這很好,因為這意味着兩個WebView實際上具有不同的webViewClients實例)
我不知道為什么新的webViewClient實例不會觸發shouldOverrideUrlLoading()函數。
有誰能夠幫助我? :(
謝謝!
情況類似。 在您的Web客戶端中,您可以實現以下功能:
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
WebResourceResponse response = super.shouldInterceptRequest(view, request);
return response;
}
您可以在中間設置一個斷點以查看發生了什么。 我的問題是請求方法是POST ,並且沒有觸發shouldOverrideUrlLoading
,因此請確保您的請求方法是GET。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.