마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

코틀린 NullPointerException 이거 어떻게 해결해야할까요..ㅠㅠ 살려주세요....

0 추천
logcat에는

 

2021-12-17 20:59:29.849 14298-14298/com.example.chatapp E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.chatapp, PID: 14298
    java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter it
        at com.example.chatapp.ChatActivity.onCreate$lambda-1$lambda-0(Unknown Source:12)
        at com.example.chatapp.ChatActivity.$r8$lambda$9Mx-0NtlFjpQN6I0_AvNyMdd1Co(Unknown Source:0)
        at com.example.chatapp.ChatActivity$$ExternalSyntheticLambda1.onSuccess(Unknown Source:6)
        at com.google.android.gms.tasks.zzm.run(com.google.android.gms:play-services-tasks@@18.0.0:1)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

 

이렇게 써있기는 한데 도저히 어디가 잘못됬는지 모르겠습니다..ㅠㅠ 어디를 고쳐야하는걸까요..??
오리발12 (120 포인트) 님이 2021년 12월 17일 질문

1개의 답변

0 추천

로그에서 에러정보를 최대한 얻어 오셔야 해요. 

먼저 에러가 난 곳은 아래입니다. ChatActivity.에서 람다로 onSuccess함수가 들어간 곳이 있을 겁니다. 
        at com.example.chatapp.ChatActivity$$ExternalSyntheticLambda1.onSuccess(Unknown Source)

 

이 때 파라미터가 non-null 타입으로 정의되어 있는데, 실제로는 null이 들어왔다는 말입니다.

 java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter it
    

파라미터 타입을 Nullable 타입으로 만들실 수 있다면, 널처리를 하시구요, 그렇지 않다면 파어베이스 쪽에서 널이 안넘어오도록 해야겠죠. 그리고 try catch를 써서 에러를 잡으셔야 하구요. 첫번째 옵션이 가능하다면 첫번째가 더 좋은 선택이라고 보여집니다.

이해가 가시면 좋겠네요. 해결이 잘 안되시면 관련 코드도 같이 올려보세요.

spark (227,830 포인트) 님이 2021년 12월 18일 답변
...