반응형
오늘은 getContext와 requireContext 차이점에 대해서 알아보겠습니다.
android 팀에서 support library 27.1.0.에 NonNull, Nullable를 SDK메서드 일부에 주석을 달았습니다.
왜 주석을 달았을까요?
fragment가 attach 되지 않은 상태에서 getContext를 호출하면 null을 반환합니다.
예를 들어 Thread나 Runnable등을 사용시 fragment가 attach된 상태라는 것을 보장할 수 없는 경우가 발생합니다.
이경우 잠정적으로 NullPointerException이 발생할 수 있습니다.
어떻게 수정해야 할까?
1. NonNull일때만 사용하는 경우 getContext에서 requireContext() 로 변경하여 사용해야 한다.
2. 호스트에 연결되지 않은 경우 requireContext()는 예외를 발생하니 fragment수명주기에 맞춰서 사용해야 한다.
기타 유사한 내용
1. getActivity 대 requireActivity
2. getHost 대 requireHost
3. getFragmentManager 대 requireFragmentManager
728x90
반응형
'개발 > Android' 카테고리의 다른 글
[Android] Google Maps API - 사용하기 1 (2) | 2022.09.30 |
---|---|
[Android] 앱내 언어 설정 (0) | 2022.09.01 |
[Android] 면접 질문 - 1 (0) | 2022.08.17 |
[Android] Manifest merger failed : Attribute application@usesCleartextTraffic value=(true) (0) | 2022.08.14 |
[Android] Failed to compile values file. 해결 (0) | 2022.08.13 |
댓글