簡體   English   中英

如何修復錯誤:空對象引用上的“java.lang.String com.google.firebase.auth.FirebaseUser.getUid()”

[英]How to fix the error : 'java.lang.String com.google.firebase.auth.FirebaseUser.getUid()' on a null object reference

我正在制作聊天應用程序並收到錯誤消息,顯示:

enter code here java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.google.firebase.auth.FirebaseUser.getUid()' on a null object reference
    at com.tonyapp.chatroom.Adapter.UserAdapter$2.onDataChange(UserAdapter.java:145)
    at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75)
    at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63)
    at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)

我簽入了我的 userAdapter 類,下面是我從第 150 行到第 164 行編寫的代碼

 reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot snapshot: dataSnapshot.getChildren()){
                Chat chat = snapshot.getValue(Chat.class);
                if (chat.getReceiver().equals(firebaseUser.getUid()) && chat.getSender().equals(userid) ||
                        chat.getReceiver().equals(userid) && chat.getSender().equals(firebaseUser.getUid())  ) {

                    if (firebaseUser.getUid().equals(chat.getSender())){
                        theLastMessage = "You: " + chat.getMessage();
                    }else {
                        theLastMessage = chat.getMessage();
                    }

我試圖弄清楚,但沒有任何解決辦法。 任何人都可以幫我解決這個錯誤嗎? 謝謝大家

if(firebaseUser != null) {
  if (chat.getReceiver().equals(firebaseUser.getUid()) 
    && chat.getSender().equals(userid) 
    ||chat.getReceiver().equals(userid) 
    && chat.getSender().equals(firebaseUser.getUid())  
  ) {
     if (firebaseUser.getUid().equals(chat.getSender())){
         theLastMessage = "You: " + chat.getMessage();
     }else {
        theLastMessage = chat.getMessage();  
     }
  }
}else {
  Log.d(TAG, "Firebase User Is Null")
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM