-1

When I want to chat with any user in my application, I get this error, what do you think is the reason?

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
        at com.hiddy.katana.user.ChatActivity$11.onDataChange(ChatActivity.java:441)

My code

if (Objects.requireNonNull(modelChat).getReceiver().equals(myId) && modelChat.getSender().equals(hisUid)) {
                        HashMap<String, Object> hashMap = new HashMap<>();
                        hashMap.put("isSeen", true);
                        snapshot.getRef().updateChildren(hashMap);
BigSt
  • 19,607
  • 4
  • 63
  • 81
Emre
  • 1
  • 1

1 Answers1

1

According to your code either this returns null

Objects.requireNonNull(modelChat).getReceiver()

or this

modelChat.getSender()

You can check whether they return null or not before using:

String receiver = Objects.requireNonNull(modelChat).getReceiver();
String sender = Objects.requireNonNull(modelChat).getSender();

if (receiver != null && receiver.equals(myId) && sender != null && sender.equals(hisUid)) {
    HashMap<String, Object> hashMap = new HashMap<>();
    hashMap.put("isSeen", true);
    snapshot.getRef().updateChildren(hashMap);
}
AppleCiderGuy
  • 1,176
  • 1
  • 8
  • 14
BigSt
  • 19,607
  • 4
  • 63
  • 81