最終更新:2017-02-10 (金) 18:33:45 (2629d)  

Fragment.onCreateView
Top / Fragment.onCreateView

Called to have the fragment instantiate its user interface view.

public View onCreateView? (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState?)

https://developer.android.com/reference/android/app/Fragment.html?hl=ja#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)

説明

  • フラグメントが初めてユーザー インターフェースを描画するタイミングでシステムがこれを呼び出します。
  • フラグメントの UI を描画するには、このメソッドからフラグメントのレイアウトのルートとなっている View を返す必要があります。
  • フラグメントが UI を提示しない場合は、null を返すことができます。

public static class ExampleFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.example_fragment, container, false);
    }
}

パラメータ

  • LayoutInflaterinflatorわざわざ自分でインスタンスを作らなくていいようにシステム側から渡してくれている
    ViewGroupcontainerフラグメントのレイアウトが挿入される ViewGroup の親になります(アクティビティのレイアウトから)。
    BundlesavedInstanceState?パラメータは、フラグメントが再開された場合にフラグメントの前のインスタンスに関する情報を提供する Bundle です

メモ

  • フラグメントのレイアウトを提供するには、onCreateView?() コールバック メソッドを実装する必要があります。これは、フラグメントがレイアウトを描画するタイミングで Android システムが呼び出します。 このメソッドの実装では、フラグメントのレイアウトのルートである View を返す必要があります。
  • フラグメントはListFragment?のサブクラスの場合、デフォルトの実装で ListView が]]onCreateView?]]() から返されるため、これを実装する必要はありません。