Mr Tony
Mr Tony

Reputation: 19

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

I am making Chat application and receive error showing that:

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)

I checked in my userAdapter class and below code I wrote from line 150 to line 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();
                    }

I try to figure out but nothing fix. Can anyone help me solve this error please? thanks you all

Upvotes: 0

Views: 447

Answers (1)

Ankita Patel
Ankita Patel

Reputation: 86

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")
}

Upvotes: 1

Related Questions