Reputation: 19
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
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