Tak, wiem, że dokumentacja stopLoading() mówi „Zatrzymuje bieżące obciążenie.”Co naprawdę robi funkcja StopLoading()?
Ale gdy próbuję go użyć, aby zatrzymać ładowanie obecnie postępuje stronę przed załadowaniem nowego, nie wydaje się zachowywać as desired:
07-24 12:53:30.177: V/WebView.loadUrl: http://www.google.com
07-24 12:53:30.227: V/WebViewClient.onPageStarted: http://www.google.com
===> WebView.stopLoading() called here <====
07-24 12:53:31.917: V/WebView.loadUrl: http://www.stackoverflow.com
07-24 12:53:32.697: V/WebViewClient.onPageFinished: http://www.google.com
07-24 12:53:32.767: V/WebViewClient.onPageStarted: http://www.stackoverflow.com
07-24 12:53:33.587: V/WebViewClient.onPageFinished: http://www.stackoverflow.com
Jak widać w dzienniku, WebViewClient.onPageFinished()
dla pierwszego loadUrl()
zostanie wywołany pomimo faktu, że WebView.stopLoading()
nazwano o 1 sekundy wcześniej.
Dlaczego tak jest?
Co naprawdę robi stopLoading()?
Zgaduję, że po prostu ustawia flagę, aby WebView nie uruchamiał żadnego z haków, takich jak onPageFinished, itp. Nie sądzę, że to faktycznie zatrzyma połączenie sieciowe. – you786