본문 바로가기
프로그래밍/Android

[Android] Dialog에서 getContext(), requireContext() 차이

by Youngs_ 2021. 12. 14.

getContext()는 Nullable

requireContext()는 NonNull

getContext()는 context가 호스트에 붙어있지 않을 때 Null을 반환한다.
requireContext()는 getContext()에서 반환된 context가 Null인 경우 IllegalStateException를 throw한다.

일반적으로 Fragment에서 context에 접근하면 null이 아닌 값을 반환하지만,
Fragment가 Activity에 attach 되지 않은 경우 등의 예외가 발생할 수 있으므로 Fragment.getContext()가 항상 NonNull인 것은 아니다.
따라서 requireContext()를 통해 Context가 Null이 아님을 보장할 수 있다.

 

Java의 경우 그냥 getContext()를 사용하면 되지만,
Kotlin의 경우 Null이 아닌 Context를 전달해주어야 한다면 requireContext()를 사용해야 한다.

'프로그래밍 > Android' 카테고리의 다른 글

[Android] RatingBar XML 속성  (0) 2021.12.17
[Android] 앱 폰트 변경  (0) 2021.12.17
Floating Button 선 없애는법 및 설정  (0) 2021.12.13
[Android] SHA 값 구하기  (0) 2021.11.24
안드로이드 SVG, PSD 아이콘 추가  (0) 2021.11.24

댓글