😛차이점 : null 처리 여부
navigate 기능을 사용할 때 Fragment에서 view!!.findNavController().navigate()
를 사용한 적이 있습니다.
느낌표 두 개를 매번 사용하는 것이 어색하다고 생각했고😅, view 함수 내부를 살펴보았습니다.
getView는 View Type인 mView를 반환합니다.
Get the root view for the fragment's layout (the one returned by onCreateView), if provided.
Returns:
The fragment's root view, or null if it has no layout.@Nullable public View getView() { return mView; }
프래그먼트의 부모 뷰를 반환하는 함수인 것 같습니다.
Get the root view for the fragment's layout (the one returned by onCreateView).
Throws:
IllegalStateException – if no view was returned by onCreateView.
See Also:
getView()@NonNull public final View requireView() { View view = getView(); if (view == null) { throw new IllegalStateException("Fragment " + this + " did not return a View from" + " onCreateView() or this was called before onCreateView()."); } return view; }
함수 내부 getView() 바로 아래에 null 체크해주는 requireView 함수가 있습니다😊
항상 navigation 기능을 사용할 때 view를 사용할 때 null처리를 하지 않으면 안드로이드 스튜디오가 아래와 같은 에러 메시지를 보여줍니다.
Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type View?
앞으로는 편하게 requireView()
를 사용해야겠습니다😎