読者です 読者をやめる 読者になる 読者になる

WebViewClient.shouldOverrideUrlLoading

shouldOverrideUrlLoadingは、ロードするURLが変わった時に呼ばれる・・・。

WebViewClient | Android Developers

これまでは、リンクをクリックしたり、リダイレクトが発生しても、URLバーのURLがそのままだったが、今回はURLが変わるたびに更新する・・・。

CustomWebViewClient.javaで、

コンストラクタでcontextをActivity型activityにキャストして、activity.findViewByIdでurlBarを取得・・・。

あとはshouldOverrideUrlLoadingに来るたび、urlBar.setTextでurlをセットすることで更新される・・・。

f:id:BG1:20170109103143p:plain

入力時は、http://yahoo.co.jpだが、

f:id:BG1:20170109103229p:plain

http://www.yahoo.co.jp/を経て(一瞬なので流石にキャプチャは取れない)、http://m.yahoo.co.jp/になった・・・。

さらにスポナビをクリックすると、

f:id:BG1:20170109103414p:plain

http://m.sports.yahoo.co.jp/になる・・・。

Sample/android/WebViewClient/shouldOverrideUrlLoading/src/WebViewClient at master · bg1bgst333/Sample · GitHub