Mal wieder Ärger mit NullPointerException

  • Heyho,


    nen paar Tutorials weiter steh ich wieder einmal (trotz vermeindlich richtigen codes) mit eclipse auf kriegsfuß. Das Problem ist, dass meine Funktion "loadProject" scheinbar noch vor Aufruf ne NullPointerException wirft.


    hier der code der fraglichen activity bis zur Problemstelle:


    Die Klasse DbManager:


    Die Klasse Project:


    und des LogCat (ohne zeitangaben):


    Mich irritiert bei dem problem vor allen die Tatsache, dass nicht einmal der Log Aufruf der Funktion loadProject aufgerufen geht, die Funktion somit scheinbar nicht einmal gestartet wird.

  • Geh das Log am Besten von unten nach oben durch.
    Da findest Du dann irgendwann:

    Code
    E/AndroidRuntime(2220): Caused by: java.lang.NullPointerException
    E/AndroidRuntime(2220): 	at and07c.lektion2.components.GatherActivity.onCreate(GatherActivity.java:59)


    Genauer als 'GatherActivity.java, Zeile 59, Methode onCreate' geht es kaum. ;)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Ja, gefunden hab ich das bereits, das verweist auf meinen Aufruf "Project temp = dbManager.loadProject(project.getName());"
    Bleibt jedoch die Frage was daran Verkehrt ist, da er offensichltich (fehlender Log Eintrag) die Funktion loadProject nicht mal aufruft. Hab des (wie am Kommentar darunter zu erkennen) auch bereits mit nem festen Namen probiert, mit dem bekomme ich jedoch die selbe Meldung.

  • In dem Fall ist es naheliegend mit dem Debugger rein zu gehen und zu schauen, welche Werte die einzelnen Variablen haben.
    Da loadProject nie aufgerufen wird, kannst Du davon ausgehen, dass loadProject nicht das Problem ist.


    Das Problem ist entweder:
    dbManager == null und null.loadProject(String) == crash


    Oder:
    project == null und null.getName() == crash


    //Nachtrag_ In Deinem Code wird dbManager nie gesetzt, also kann das nix werden. Soviel zum Thema 'vermeintlich richtiger Code'

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Ja, wenn der dbManager nicht initialisiert ist, kann er natürlich nicht Arbeiten, hat ne gewisse Logik. Scheint zwar nicht der Einzige Fehler zu sein den ich in den Code gehauen hab, aber den rest versuch ich erstmal selbst zu lösen.
    Danke für die Hilfe, hatte da echt nen Brett vorm Kopf.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!