2014年01月23日

[Android] Fragment内のWebViewで先読みするにはどうすれば良いだろう?(2)

以前、以下の様な記事を書きました。

tappli blog: [Android] Fragment内のWebViewで先読みするにはどうすれば良いだろう?

結局うまいこと出来なかったのでした。
今回、また先読みの要望があがりました。
前回のように「ダイアログ風のレイアウト」で済ますのは難しそうな状況です。

Viewを渡すメソッドを作れば渡せないこともないと思いますが、それはちょっとねぇ。


前回、こんなことを書きましたが、これはFragmentのインスタンスが再生成されたときに、ちゃんと表示されないことが容易に想像できたからです。
今回、ふと思いつきました。逆ならいけるんじゃないかと。
FragmentのonCreateView()、またはDialogFragmentのonCreateDialog()あたりで、呼び出し元のActivityが特定のinterfaceを実装しているかチェックし、実装していたらそのinterfaceのメソッドでWebViewを取得する。
WebViewに表示するページはActivityで予め読み込んでおく、という寸法です。
これならインスタンスがシステムによって破棄されても、呼び出し元のActivityの再生成されるはずなので、WebViewが表示できないということはないはず…。
このやり方がイケていないというのはわかっていますが、試してみたところ、Fragment表示直後にWebページを表示したWebViewを表示することができました。

イケてないけど、動くことが大事!
と自分に言い聞かせているところです。
posted by t2low at 23:00| Android