Wie löse ich das Problem eines NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference ?

  • Hallo Community,


    ich bin neu hier und hoffe auf Hilfe, da ich relativ ein Anfänger in Android Studio bin aber ich versuche durch Tutorials etc. zu lernen. :)


    Ich bin jedoch auf ein Problem gestoßen und komme einfach nicht weiter, Stackoverflow oder sonst wo, selbst das Video dreimal angeschaut um zu schauen, wo mein Problem liegt. Komierscherweise hat er das Problem nicht. Ich verstehe nicht warum und zwar ist es ein:


    "com.example.networkusercommunication, PID: 20662 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference at com.example.networkusercommunication.ChatActivity$5.onDataChange(ChatActivity.java:248)" - Hier Zeile 50 bei getReceiver(). Bei getSender() ist aber alles in Ordnung, ich verstehe das nicht.


    In seinem nächsten ( bzw. meinem jetzigen ) Video zeigte er, wie man eine Nachricht im Chat löscht, dabei zeigte er zwei Methoden. 1. Einfaches Löschen und 2. Die Nachrichten durch:" Diese Nachricht wurde gelöscht " ersetzen. Zum Test probierte ich beides, wie im Tutorial gezeigt. Mir gefällt die zweite Variante besser, deshalb löschte ich die Zeile für Variante 1. Doch dann fing das Problem an. Zuvor funktioniert alles wunderbar, gestern keine Problem aber jetzt geht es nicht mehr. Ich öffne die App und bis zum "Users" Fenster, wo sich alle registrierten Benutzer auffinden, funktioniert alles, wenn ich auf einen Benutzer klicke/drücke, um das Chatfenster zu öffnen, stürzt die ab einfach ab mit dem obigen Error im Logcat. Wie kann ich das Lösen?


    [Musste den Code kürzen, sonst hat es nicht gepasst, hoffe, dass hier das Wichtige vorhanden ist]

  • Hallo



    Code
    if (chat.getReceiver().equals(myUid) ||
                     (chat.getReceiver().equals(hisUid) && chat.getSender().equals(myUid))) {
        chatList.add(chat);
    }


    Wasist „myUid“ und „HisUid“ ?


    Wenn das .equals laufen soll, müssen das Strings sein kann ich in deinem Code nicht sehn.




    Auch dürfen die Objekte nicht null sein denn dann kommt dein Fehler


    method 'boolean java.lang.String.equals(java.lang.Object)'




    Prüfe ob deine User Objekte nicht lehr (null) sind, ich denke dem ist so.


    Füge doch mal ein Log ein um zu prüfen ob du einen User String bekommen hast.
    Wenn nicht ist es klar das das equals fehl schlägt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!