FragmentにWebviewを表示する方法

2019年5月13日

今回はFragmentにwebviewを表示する方法を説明します。

 

手順としてはまずxmlにwebviewを表示するviewを定義し、

次にJavaコードでwebviewに対しての処理を記述していきます。

 

WebViewを表示するためのAndroidManifest.xmlへの追記

アプリでWebviewを使用するにあたってインターネット接続が必要になりますので

その定義をAndroidManifestに追記します。

 

<uses-permission android:name="android.permission.INTERNET" />

 

xmlにWebviewを表示するviewを定義

<framelayout>
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  
      android:id="@+id/webview"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
</FrameLayout>

 

JavaコードでWebviewに対しての処理を記述

private WebView mWebView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.shop_fragment, container, false);
    mWebView= (WebView)v.findViewById(R.id.webview);
    mWebView.setWebViewClient(new WebViewClient());
    mWebView.loadUrl("ここに表示したいURLを記述");
    
    return v;
}

 

これで完了です。

ただし今回の実装だけだとページの読み込みが完了する前に、

webviewの画面に遷移できてしまう為プログレスバーを付ける対応が必要です。

プログレスバーを表示する実装は次回に説明します。