NullPointerException

M1st3r X

M1st3r X

Neues Mitglied
0
Hallo, zusammen.

Ich habe letztens mit der App-Programmierung begonnen und angefangen mir eine eigene Bus-Bahn-App zu schreiben.
Soweit so gut... Als ich das Rohgerüst soweit am laufen hatte, habe ich begonnen den Code noch einmal zu überarbeiten, allerdings bekomm ich jetzt immer eine Fehlermeldung, wenn ich die App starten (has stopped unexpectedly) der Grund scheint laut LogCat eine NullPointerException zu sein...

04-03 19:00:45.425: E/AndroidRuntime(336): FATAL EXCEPTION: main
04-03 19:00:45.425: E/AndroidRuntime(336): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.kues_trier/com.example.kues_trier.MainActivity}: java.lang.NullPointerException
04-03 19:00:45.425: E/AndroidRuntime(336): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
04-03 19:00:45.425: E/AndroidRuntime(336): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-03 19:00:45.425: E/AndroidRuntime(336): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-03 19:00:45.425: E/AndroidRuntime(336): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-03 19:00:45.425: E/AndroidRuntime(336): at android.os.Handler.dispatchMessage(Handler.java:99)
04-03 19:00:45.425: E/AndroidRuntime(336): at android.os.Looper.loop(Looper.java:123)
04-03 19:00:45.425: E/AndroidRuntime(336): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-03 19:00:45.425: E/AndroidRuntime(336): at java.lang.reflect.Method.invokeNative(Native Method)
04-03 19:00:45.425: E/AndroidRuntime(336): at java.lang.reflect.Method.invoke(Method.java:507)
04-03 19:00:45.425: E/AndroidRuntime(336): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-03 19:00:45.425: E/AndroidRuntime(336): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-03 19:00:45.425: E/AndroidRuntime(336): at dalvik.system.NativeStart.main(Native Method)
04-03 19:00:45.425: E/AndroidRuntime(336): Caused by: java.lang.NullPointerException
04-03 19:00:45.425: E/AndroidRuntime(336): at com.example.kues_trier.MainActivity.findeUhrzeit(MainActivity.java:225)
04-03 19:00:45.425: E/AndroidRuntime(336): at com.example.kues_trier.MainActivity.bisBahnhof(MainActivity.java:203)
04-03 19:00:45.425: E/AndroidRuntime(336): at com.example.kues_trier.MainActivity.onCreate(MainActivity.java:68)
04-03 19:00:45.425: E/AndroidRuntime(336): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-03 19:00:45.425: E/AndroidRuntime(336): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-03 19:00:45.425: E/AndroidRuntime(336): ... 11 more

Code:
int bisBahnhofZeiger=0, BahnhofZeiger=0, abBahnhofZeiger=0;
	
	Date aktuelleUhrzeit;
    @SuppressLint("SimpleDateFormat") SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
    String aktuelleZeit;
    
    Boolean inKues = true;
	
	@Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        aktuelleUhrzeit = Calendar.getInstance().getTime();        
        aktuelleZeit = sdf.format(aktuelleUhrzeit);

        try {
			bisBahnhof(aktuelleZeit);		//Zeile 68
		} catch (ParseException e) {
			e.printStackTrace();
		}

Code:
public void bisBahnhof(String aktuelleUhrzeit) throws ParseException {
    		bisBahnhofZeiger = findeUhrzeit(aktuelleUhrzeit, Bus_1_Abfahrt);    		//Zeile203
    		bisBahnhof_Daten(bisBahnhofZeiger);    	
    		Bahnhof(Bus_1_Ankunft[bisBahnhofZeiger]);
    }

Code:
public int findeUhrzeit(String aktuelleUhrzeit, String[] Fahrten) throws ParseException {
    	
    	Date aktuelleZeit = sdf.parse(aktuelleUhrzeit);
    	
    	int zeiger = 0;
    	for(int i=0; i<Fahrten.length; i++) {				//Zeile 225
    		if(aktuelleZeit.after(sdf.parse(Fahrten[i])))
    			zeiger=i+1;
    		else
    			break;
    	}
    	
    	if(zeiger >= Fahrten.length)
    		zeiger = 0;
    	if(zeiger < 0)
    		zeiger = Fahrten.length-1;
    	
    	return zeiger;
    }

Ich hoffe ihr könnt damit irgendwas anfangen und mir weiterhelfen ^^
Ist wahrscheinlich irgendwas offensichtliches, was ich permanent übersehe ;)

Gruß,
M1st3r X
 
Zuletzt bearbeitet:
... habe mir den code nicht angeschaut, aber exceptions (insbesondere nullPointerExceptions) sollten sich mittels debugger ohne fremde hilfe einfach finden lassen, besonders wenn man die fehlerquelle ungefähr identifizieren kann, was ja hier der fall ist, nämlich irgendwo am anfang.
einfach haltepunkt in der ersten onCreate methode setzen und schritt für schritt durch debuggen.
 
Wurde denn bei findeUhrzeit überhaupt ein Wert für Fahrten übergeben? Klingt nach einen initialisierten Wert, welcher aber Null ist.
 
Ja, Black NEXUS, hattest Recht danke =)
Hab vergessen die Methode zum Initialisieren aufzurufen...
Wusste ichs doch, dummer Fehler... xD

- kann geschlossen werden -
 

Ähnliche Themen

R
Antworten
1
Aufrufe
993
swa00
swa00
W
Antworten
11
Aufrufe
1.428
washpuda
W
O
Antworten
7
Aufrufe
931
Oli95
O
Zurück
Oben Unten