Android Error

Fatal Exception: java.lang.IllegalStateException: activity must not be null


1. 에러 내용:


Fatal Exception: java.lang.IllegalStateException: activity must not be null

       at hbs.com.timetablescreen.Fragment.CheckTimeFragment$onCreateView$1.onEvent(CheckTimeFragment.kt:90)

       at hbs.com.timetablescreen.Fragment.CheckTimeFragment$onCreateView$1.onEvent(CheckTimeFragment.kt:36)

       at com.google.firebase.firestore.DocumentReference.lambda$addSnapshotListenerInternal$2(com.google.firebase:firebase-firestore@@17.1.5:541)

       at com.google.firebase.firestore.DocumentReference$$Lambda$3.onEvent(Unknown Source:6)

       at com.google.firebase.firestore.util.ExecutorEventListener.lambda$onEvent$0(com.google.firebase:firebase-firestore@@17.1.5:42)

       at com.google.firebase.firestore.util.ExecutorEventListener$$Lambda$1.run(Unknown Source:6)

       at android.os.Handler.handleCallback(Handler.java:789)

       at android.os.Handler.dispatchMessage(Handler.java:98)

       at android.os.Looper.loop(Looper.java:164)

       at android.app.ActivityThread.main(ActivityThread.java:6710)

       at java.lang.reflect.Method.invoke(Method.java)

       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)

       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770) 



2. 에러 원인:


- 프레그먼트 등을 사용하면서 겪게 된 오류였으며, 해당 오류는 어플리케이션을 종료하고, 다시 프레그먼트로 접근할 때

getString() 구문이 activity를 참조하는데, 프레그먼트에서 앱서비스를 죽이면서 activity 또한 null이 되었습니다.


3. 해결 방법:


onCreateView의 contianer를 활용해서 context에 접근하는 방법으로 해결했습니다.


container?.context?.resources?.getString(R.string.text_with_study)