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

Zinc #31 URLのロード

WebViewでURLをロードする・・・。

fragment_web.xmlに、

WebViewとProgressBarを設置・・・。
ちょっと今回はLinearLayoutとかで区切るのはやめてみる・・・。
重なって表示されるか試したい・・・。
ただ、ProgressBarは今回は使わない・・・。

MainActivity.javaに、

loadUrlを用意して、fragmentManager.findFragmentByTagでcurrentFragmentTagを指定して、取得したwebFragmentのloadUrlでさらにロード・・・。
webFragment.loadUrlは、

webViewを取得し、webView.loadUrlでロード・・・。
しかし、これだと、

onCreateでloadUrlを呼んだ場合、findFragmentByTagしてもwebFragmentは取得できず、落ちてしまう・・・。
(まだ、この時点では追加が完了していないので・・・。)

そこで、Bundle型argsでurlを登録し、webFragment.setArgumentsでargsを渡す・・・。

onCreateViewで、inflater.inflateの戻り値はメンバフィールドfragmentViewに・・・。
getArgumentsでargs、args.getStringでurlを取り出して、loadUrlに・・・。
あとはloadUrlに渡すと、fragmentView.findViewByIdで取得したwebViewでurlをロードする・・・。

MainActivityのRelativeLayoutのマージンを0にしておく・・・。

インターネットアクセスするので、android.permission.INTERNETが必要・・・。

これで起動すると、

f:id:BG1:20161011152120p:plain

Webページが表示される・・・。

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