NullPointerException

W

WakeShell

Neues Mitglied
0
Hallo alle miteinander. Wir haben ein schwerwiegendes Problem. Wir arbeiten an einer Android-app und diese funktioniert auch wunderbar mit der Version 3.2 aber auf Geräten mit der Version 4+ beendet diese sich sobald man das Menü benutzt (Die drei Punkte untereinander in der rechten oberen Ecke).

Logcat gibt diese Zeilen aus:
Code:
02-07 11:57:50.470: W/dalvikvm(6145): threadid=1: thread exiting with uncaught exception (group=0x40a4f1f8)
02-07 11:57:50.480: E/AndroidRuntime(6145): FATAL EXCEPTION: main
02-07 11:57:50.480: E/AndroidRuntime(6145): java.lang.NullPointerException
02-07 11:57:50.480: E/AndroidRuntime(6145):     at ge.umbautool.BaseActivity.onMenuOpened(BaseActivity.java:88)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at com.android.internal.policy.impl.PhoneWindow$ActionMenuPresenterCallback.onOpenSubMenu(PhoneWindow.java:1737)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at com.android.internal.view.menu.BaseMenuPresenter.onSubMenuSelected(BaseMenuPresenter.java:205)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at com.android.internal.view.menu.ActionMenuPresenter.showOverflowMenu(ActionMenuPresenter.java:288)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at com.android.internal.view.menu.ActionMenuPresenter$OverflowMenuButton.performClick(ActionMenuPresenter.java:567)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at android.view.View$PerformClick.run(View.java:14105)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at android.os.Handler.handleCallback(Handler.java:605)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at android.os.Handler.dispatchMessage(Handler.java:92)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at android.os.Looper.loop(Looper.java:137)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at android.app.ActivityThread.main(ActivityThread.java:4446)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at java.lang.reflect.Method.invokeNative(Native Method)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at java.lang.reflect.Method.invoke(Method.java:511)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
02-07 11:57:50.480: E/AndroidRuntime(6145):     at dalvik.system.NativeStart.main(Native Method)

Der Dazugehörige Code sieht wie folgt aus:
Code:
      @Override
                  public boolean onMenuOpened(int featureId, Menu menu)
                  {
                                 MenuItem bItem = menu.findItem(R.id.opt_baustein);
                                 String ro = myPrefs.getString("ROLLOUT", "");
                                 if(ro.isEmpty()||ro.equals("Neueinrichtung"))
                                 {
                                                 bItem.setVisible(false);
                                                 Toast.makeText(this, "Bausteinliste erst bei Auswahl eines Umbau-Rollouts verfügbar", Toast.LENGTH_LONG).show();
                                 }
                                 else 
                                 {
                                                 bItem.setVisible(true);
                                 }
                                 return true;
                  }

Die Zeile 88 ist diese: "MenuItem bItem = menu.findItem(R.id.opt_baustein);"

Ich würde mich freuen, wenn einer von euch eine Lösung zu dem Problem weiß. :laugh:
 
Debugg doch mal, was in bItem steht bzw. eigentlich stehen sollte.
Sieht so aus, als würde er R.id.opt_baustein leer sein bzw nicht finden...

Gruß
 
Wir haben mal den Codeteil auskommentiert und es funktioniert. Verwunderlich, da in der Klasse R.id auch opt_baustein angegeben ist und er es finden sollte. Die lösung kann das aber nicht sein, da wird wohl was bei dem bItem nicht ordentlich laufen.
 
Hi,

ich würde die generierte R Datei löschen uns die nochmals generieren lassen.
Des Weiteren könnte ja auch menu NULL sein.
Am Besten einfach Reindebuggen und gucken, ob es am menu oder an der R Klasse liegt.
 
Danke für die Antworten, wir werden das mal genauer untersuchen. Z.Z. läuft es ja, ist nur eine kleinigkeit in der Programmführung anders dadurch aber bringt keinen Abbruch. Das ist die Hauptsache.
 

Ähnliche Themen

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