java.lang.IllegalStateException: Fragment not attached to a context.

지프치프·2022년 10월 1일
1

Issue(error)

목록 보기
16/20

개요

Fragment에서 context를 사용할 때 종종 아래와 같은 exception을 조우할 떄가 있다.

java.lang.IllegalStateException: Fragment not attached to a context.

이는 Fragment가 Activity에 Attach되지 않았을 때 context를 호출하면 발생한다.

위 코드를 살펴보면
getContextNullalble
requireContextNonNull

그래서 getContext를 사용했다면 attach 되지 않아도
Nullable이기 때문에 null이 반환되지만

requireContextNonNull이기때문에
현재 context가 null이면 IllegalException을 throw한다.

해결

Fragment의 LifeCycle을 살펴보면 onAttach가 있다.

Fragment에서 제공하는 getContext는 null을 반환할 때도 있기 때문에
안전하게 context를 사용하려면 onAttach에서 인자로 넘어오는
context를 사용하는 것이 좋다.

profile
지프처럼 거침없는 개발을 하고싶은 개발자

0개의 댓글