2015-06-05 3 views
0

У меня есть активность Android с фрагментом, выделенным для нескольких веб-просмотров.Android - несколько webView с несколькими webViewClient: shouldOverrideUrlLoading не вызвано новым webViewClient

Я реализовал то, что я мог о нескольких методах Webview включая

public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) { 
    // source code here ... 
} 

Для первого WebView, shouldOverrideUrlLoading (..) вызывается OK.

Но поскольку я следую некоторым ссылкам и создаю новый веб-просмотр, настроен так же, как и первый, назначить новый webViewClient и новый webChromeClient.

Новые функции webViewClient переопределения, такие как onPageStart (..), onPageFinished (..) будем называть нормально,

но только shouldOverrideUrlLoading() не дозвонились на новом WebView, несмотря на это имеет совершенно новый webViewClient пример.

Я проверил экземпляр идентификаторы как webViewClient и подтвердил, что они имеют разные идентификаторы экземпляра для каждого webviews (что хорошо, потому что это означает, что оба webviews имеют фактически разные экземпляры webViewClients)

я не имею ни малейшего понятия, почему новый экземпляр webViewClient не будет вызывать функцию shouldOverrideUrlLoading().

Может кто-нибудь мне помочь? !. :(

Благодаря

ответ

1

Если бы похожую ситуацию В веб-клиенте, вы можете осуществить следующие действия:

@Override 
    public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { 
     WebResourceResponse response = super.shouldInterceptRequest(view, request); 
    return response; 
} 

и вы можете установить контрольную точку в середине, чтобы увидеть, что происходит на. Моя проблема заключалась в том, что метод запроса POST был, и не спровоцировать shouldOverrideUrlLoading, так убедитесь, что ваш метод запроса GET.

+0

Спасибо, я проверю! – CheeseLemon

 Смежные вопросы

  • Нет связанных вопросов^_^