2016-05-04 6 views
0

Dies ist das Problem zur Hand. Die App, die ich gerade entwickelte, funktionierte in einem Emulator, BlueStack, um genauer zu sein. Und wenn ich dann die App in meinem Android-Gerät lenovo s650 4.4.2 starte, stürzt die App ab, sobald sie ins Hauptmenü gelangt. Und der Logcat ist nicht sehr hilfreich, weil er nicht angibt, wo der Fehler in der Java-Datei ist. Hier ist die logcat und Java-DateiKonnte den spezifischen Fehler von Android-Gerät nicht finden

05-04 10:18:35.769 7777-7777/com.cssdecisions.cssSA E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.cssdecisions.cssSA, PID: 7777 
                     java.lang.NullPointerException 
                      at android.view.View.sendAccessibilityEventUncheckedInternal(View.java:5093) 
                      at android.view.View.sendAccessibilityEventUnchecked(View.java:5074) 
                      at android.view.View$SendViewStateChangedAccessibilityEvent.run(View.java:19968) 
                      at android.os.Handler.handleCallback(Handler.java:808) 
                      at android.os.Handler.dispatchMessage(Handler.java:103) 
                      at android.os.Looper.loop(Looper.java:193) 
                      at android.app.ActivityThread.main(ActivityThread.java:5388) 
                      at java.lang.reflect.Method.invokeNative(Native Method) 
                      at java.lang.reflect.Method.invoke(Method.java:515) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655) 
                      at dalvik.system.NativeStart.main(Native Method) 

für das Hauptmenü Java-Datei, kann ich nicht hier zeigen, wie sie 30000 Zeilen überschreitet. Also werde ich stattdessen den Link zu der Datei angeben.

https://drive.google.com/open?id=0B0c-aT9S66HkejRTU290bzk2eDQ

Vielen Dank im Voraus für Ihre Zeit zu helfen nehmen.

AKTUALISIERT - Bild des stacktrace

Gegeben sind die Stacktrace Fehler:

http://imagizer.imageshack.us/a/img922/5973/6KbwEq.png

ANOTHER UPDATE

Die App auf einem anderen Telefon getestet wurde , Samsung Note 3. Und es funktionierte wie ein Zauber. Aber es funktioniert immer noch nicht auf Lenovo s650 und s920. Konnte das Problem immer noch nicht herausfinden.

+0

Welche Version der Android-Support-Bibliothek verwenden Sie? –

+0

im mit 23.0.1 –

+0

Ist das der ganze Fehler, den Sie haben ...? Ich meine normalerweise wird es eine Zeile danach "verursacht durch ....." so geben .. Bitte überprüfen Sie und geben Sie die vollständige Fehler-Ablaufverfolgung, wenn es eine –

Antwort

0

Versuchen Sie Upgrade die Version von Android Support Library von 23.0.1 zu 23.3.0.

+0

Herunterladen neuer Pakete. wird in Kürze aktualisiert. –

+0

lass es mich wissen, wenn es geklappt hat. –

+0

nicht gut. es stürzt immer noch wenn Lasten in Hauptmenü –

0

Ich habe den Schuldigen zu all dem gefunden. Wenn Sie den Quellcode gehen und downloaden Sie waren ich über den Link gegeben haben, werden Sie feststellen, dass: -

parameter = new String[4]; 
parameter[0] = dbHelper.getCultureText("WORKORDER"); 
parameter[1] = dbHelper.getCultureText("REDHDCSE"); 
parameter[2] = dbHelper.getCultureText("PURCHASEAPPROVAL"); 
parameter[3] = dbHelper.getCultureText("MESSAGE"); 

dieser Code die Anzahl und die Namen mehrerer linearlayouts später im Code initialisiert, so wird parameter[0] gehen in linear1.addChild(0), und so weiter. Hier haben wir also 4 Reihen, und so später in dem Code fortgesetzt, gibt es diese Dinge: -

badgeTask = new BadgeView(MainMenuActivity.this, linear1.getChildAt(0)); 
badgeLeave = new BadgeView(MainMenuActivity.this, linear1.getChildAt(1)); 
badgeSales = new BadgeView(MainMenuActivity.this, linear1.getChildAt(2)); 
badgePurchase = new BadgeView(MainMenuActivity.this, linear1.getChildAt(3)); 
badgeMessage = new BadgeView(MainMenuActivity.this, linear1.getChildAt(4)); 

Diese badgeViews wird Popup, wenn neue Daten in die Datenbank eingefügt. So wie Sie sehen können: -

badgeMessage = new BadgeView(MainMenuActivity.this, linear1.getChildAt(4)); 

badgeMessage sucht das Kind auf der 5. Position in der übergeordneten Linearlayout, das nicht verfügbar ist, weil die Kinder zählen wir haben, ist nur 4. Das ist, wo das Problem trifft. Aber dann stört mich das, warum hat der Stacktrace das Problem nicht dort gezeigt?

Aber dann noch einmal, danke an diejenigen, die geholfen haben. Es tut mir leid, wenn das zu viel Zeit in Anspruch genommen hat.

Verwandte Themen