SMALL
안녕하세요 남갯입니다
오늘은 getContext와 requireContext의 차이에 대해 포스팅 해보려고 합니다.
참고링크 : https://medium.com/@shafran/fragment-getcontext-vs-requirecontext-ffc9157d6bbe
getContext & requireContext 의 차이
@Nullable
public Context getContext() {
return mHost == null ? null : mHost.getContext();
}
@NonNull
public final Context requireContext() {
Context context = getContext();
if (context == null) {
throw new IllegalStateException("Fragment " + this + " not attached to a context.");
}
return context;
}
requireContext는 fragment가 확실히 이것의 호스트에 붙어있을때만 사용해야 합니다.
아닐경우(null일 경우) error가 발생합니다. (사용처 onResume, onViewCreated)
따라서 NonNull일때만 동작해야하는 경우에는 getContext에서 requireContext() 로 변경해서 사용해라. 하지만 혹시나 host에 붙지 않았을 경우에 사용하게 된다면 exception thorw을 통해 사용해야한다.
코틀린의 경우 Fragment의 Context? 를 반환하기 때문에 requireContext를 통해 Context를 반환 가능하다.
또한
getActivity와 requireActivity 동일하다.
LIST
'IT > 안드로이드 관련' 카테고리의 다른 글
[안드로이드] api와 implementation 차이 (0) | 2020.02.28 |
---|---|
[안드로이드] ValueAnimator를 이용한 애니메이션 사용해보기 (0) | 2020.01.17 |
[안드로이드] 안드로이드 리소스 네이밍 컨벤션 (0) | 2019.12.17 |
[안드로이드] navigation back button handling (0) | 2019.11.12 |
[Android] Android Studio 3.5 Xml Code Style 오류 수정 방법 (2) | 2019.08.27 |