Micka
Fortgeschrittenes Mitglied
- 1
Hallo,
ich arbeite momentan an einer App für die Lebenshilfe. Während meines Studiums habe ich mir selbst Android angelernt und komme eigentlich auch ganz gut zurecht.
Bei meiner App hab ich nun ein Fehler, warum er kommt verstehe ich teilweise.
ich poste einfach mal kurz eine Stelle der App die meiner meinung nach Grund für die Exception ist.
Hier der Logcat:
Der Fehler kommt meiner Meinung nach daher das der Variable
EditText restGuthaben noch keine ID zu gewiesen wurde. Ist auch klar, wenn die Schleife nicht durchlaufen wird, wird auch keine ID zugewiesen da das ja in der Schleife geschieht.
Nur Warum? Warum wird die Schleife nicht durchlaufen?
Sieht jemand den Fehler?
Ich hänge mal mein ganzes Project gezippt an, denke aber nicht das der Fehler woanders versteckt ist.
ich arbeite momentan an einer App für die Lebenshilfe. Während meines Studiums habe ich mir selbst Android angelernt und komme eigentlich auch ganz gut zurecht.
Bei meiner App hab ich nun ein Fehler, warum er kommt verstehe ich teilweise.
ich poste einfach mal kurz eine Stelle der App die meiner meinung nach Grund für die Exception ist.
Code:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
extrasAbrufen();
initiateData();
mAdapter = new EintragListAdapter(this, mData);
[B]System.out.println("Vor Footerauswahl tabellentyp= " + tabellentyp);[/B]
if(tabellentyp == "taschengeld")
{
footer = getLayoutInflater().inflate(R.layout.ansichttaschengeldfooterlayout, null);
restGuthaben = (TextView) findViewById(R.id.eintraegeAnzeigenTaschengeldRestWert);
System.out.println("Gewählt wurde taschengeld");
}else[B] if(tabellentyp == "wirtschaftsgeld")[/B]
{
[B] System.out.println("gewählt wurde wirtschaftsgeld");[/B]
footer = getLayoutInflater().inflate(R.layout.ansichtwirtschaftfooterlayout, null);
restGuthaben = (TextView) findViewById(R.id.eintraegeAnzeigenHaushaltRestWert);
}
header = getLayoutInflater().inflate(R.layout.ansichttitellayout, null);
listView = getListView();
registerForContextMenu(listView);
listView.addHeaderView(header);
listView.addFooterView(footer);
restGuthaben.setText(Double.toString(rest) + ""); [B]Zeile 78 ist laut Eclipse diese[/B]
this.setListAdapter(mAdapter);
}
Wie man sieht wird die Folgende Ausgabe vor der Exception gemacht:05-12 18:41:45.451: D/dalvikvm(333): GC_EXTERNAL_ALLOC freed 227K, 52% free 2675K/5511K, external 2125K/2137K, paused 63ms
05-12 18:41:47.981: W/KeyCharacterMap(333): No keyboard for id 0
05-12 18:41:47.981: W/KeyCharacterMap(333): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
05-12 18:41:48.831: V/ensacom(333): Insert new Eintrag: 12.5.2012, Einnahmen, 5.0, id=0 in Liste: haushalt1
05-12 18:41:48.911: I/System.out(333): Vor Footerauswahl tabellentyp= wirtschaftsgeld
05-12 18:41:49.001: D/dalvikvm(333): GC_EXTERNAL_ALLOC freed 85K, 50% free 2768K/5511K, external 2427K/2688K, paused 48ms
05-12 18:41:49.091: D/AndroidRuntime(333): Shutting down VM
05-12 18:41:49.091: W/dalvikvm(333): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-12 18:41:49.111: E/AndroidRuntime(333): FATAL EXCEPTION: main
05-12 18:41:49.111: E/AndroidRuntime(333): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.micka.lebenshilfe/de.micka.lebenshilfe.Tabellenansicht}: java.lang.NullPointerException
05-12 18:41:49.111: E/AndroidRuntime(333): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-12 18:41:49.111: E/AndroidRuntime(333): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-12 18:41:49.111: E/AndroidRuntime(333): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-12 18:41:49.111: E/AndroidRuntime(333): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-12 18:41:49.111: E/AndroidRuntime(333): at android.os.Handler.dispatchMessage(Handler.java:99)
05-12 18:41:49.111: E/AndroidRuntime(333): at android.os.Looper.loop(Looper.java:123)
05-12 18:41:49.111: E/AndroidRuntime(333): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-12 18:41:49.111: E/AndroidRuntime(333): at java.lang.reflect.Method.invokeNative(Native Method)
05-12 18:41:49.111: E/AndroidRuntime(333): at java.lang.reflect.Method.invoke(Method.java:507)
05-12 18:41:49.111: E/AndroidRuntime(333): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-12 18:41:49.111: E/AndroidRuntime(333): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-12 18:41:49.111: E/AndroidRuntime(333): at dalvik.system.NativeStart.main(Native Method)
05-12 18:41:49.111: E/AndroidRuntime(333): Caused by: java.lang.NullPointerException
05-12 18:41:49.111: E/AndroidRuntime(333): at de.micka.lebenshilfe.Tabellenansicht.onCreate(Tabellenansicht.java:78)
05-12 18:41:49.111: E/AndroidRuntime(333): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-12 18:41:49.111: E/AndroidRuntime(333): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
05-12 18:41:49.111: E/AndroidRuntime(333): ... 11 more
ich frage mich warum die folgende Anweisung nicht durchlaufen wird05-12 18:41:48.911: I/System.out(333): Vor Footerauswahl tabellentyp= wirtschaftsgeld
Code:
...}else[B] if(tabellentyp == "wirtschaftsgeld")[/B]
{
[B] System.out.println("gewählt wurde wirtschaftsgeld");[/B]
EditText restGuthaben noch keine ID zu gewiesen wurde. Ist auch klar, wenn die Schleife nicht durchlaufen wird, wird auch keine ID zugewiesen da das ja in der Schleife geschieht.
Nur Warum? Warum wird die Schleife nicht durchlaufen?
Sieht jemand den Fehler?
Ich hänge mal mein ganzes Project gezippt an, denke aber nicht das der Fehler woanders versteckt ist.
Anhänge
Zuletzt bearbeitet: