/**
 * Called to have the fragment instantiate its user interface view.
 * This is optional, and non-graphical fragments can return null. This will be called between
 * {@link#onCreate(Bundle)} and {@link#onViewCreated(View, Bundle)}.
 *<p>A default View can be returned by calling {@link#Fragment(int)} in your
 * constructor. Otherwise, this method returns null.
 *
 *<p>It is recommended to<strong>only</strong>inflate the layout in this method and move
 * logic that operates on the returned View to {@link#onViewCreated(View, Bundle)}.
 *
 *<p>If you return a View from here, you will later be called in
 * {@link#onDestroyView} when the view is being released.
 *
 *@param inflater The LayoutInflater object that can be used to inflate
 * any views in the fragment,
 *@param container If non-null, this is the parent view that the fragment's
 * UI should be attached to.  The fragment should not add the view itself,
 * but this can be used to generate the LayoutParams of the view.
 *@paramsavedInstanceStateIf non-null, this fragment is being re-constructed
 * from a previous saved state as given here.
 *
 *@returnReturn the View for the fragment's UI, or null.
 */
@MainThread
@Nullable
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
        @Nullable Bundle savedInstanceState) {
    if (mContentLayoutId != 0) {
        return inflater.inflate(mContentLayoutId, container, false);
    }
    return null;
}

<aside> 💡 *@param container If non-null, this is the parent view that the fragment's

</aside>