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

Zinc #17 回転時のActivity再生成によりWebViewの内容が消える問題の対策 その2

前回の方法では以前表示していたWebページを復元できたもののリロードは避けられず、完全に以前のページを復元できたとは言えない・・・。
そもそもActivityの再生成を避けられていないので、他のViewも再生成の影響を受けてしまう・・・。
(URLバーが影響を受けていないように見えるのは、おそらくshouldOverrideUrlLoadingでURLがurlBarに再セットされてるからと思われる・・・。)

実は、再生成自体をさせない方法がある・・・。

AndroidManifest.xmlandroid:configChanges="keyboardHidden|orientation|screenSize"を追加するだけで、キーボードをしまう時、回転時、画面サイズ変更時に、onCreateではなく、onConfigurationChangedを呼ぶようになり、Activityの再生成はされなくなる・・・。

f:id:BG1:20160718004841p:plain

ここで横にすると、

f:id:BG1:20160718004910p:plain

リロードも再生成もされずに、表示ページと位置が維持される・・・。

ちなみに前回のsavedInstanceStateの処理はやめて、元に戻しておいた・・・。

https://github.com/bg1bgst333/Zinc/tree/develop/android/empty_activity/android_studio/src/Zinc