Не удалось найти конкретную ошибку с Android устройства

Вот в чем проблема. Приложение, которое я разрабатывал, хорошо работало в эмуляторе, BlueStack, если быть более точным. И затем, когда я запускаю приложение в моем android устройстве lenovo s650 4.4.2, приложение разбилось, как только оно попадает в Главное меню. И logcat не очень полезен, потому что он не указал, где ошибка находится в файле java. Вот файл logcat и java

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)

Для файла java главного меню я не могу показать его здесь, поскольку он превышает 30000 строк. Поэтому я просто дам ссылку на файл вместо этого.

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

Заранее спасибо, что нашли время помочь.

Обновлено-изображение stacktrace

Приведены ошибки stacktrace:

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

ДРУГОЕ ОБНОВЛЕНИЕ

Приложение было протестировано на другом телефоне, Samsung note 3. И это сработало как заклинание. Но он по-прежнему не работает на Lenovo s650 и s920. Все еще не мог разобраться в проблеме.

2 ответа

  1. Я нашел виновника всего этого. Если вы пойдете и загрузите исходный код, который я дал по ссылке, вы найдете, что:-

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

    этот код инициализирует количество и имя нескольких linearlayouts позже в коде, так parameter[0]что войдетlinear1.addChild(0), и так далее. Итак, здесь у нас есть 4 строки, и продолжая так позже в коде, есть эти вещи:-

    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));
    

    Эти badgeViews будут всплывать всякий раз, когда новые данные вставлены в базу данных. Так как вы можете видеть:-

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

    badgeMessage ищет ребенка на 5-й позиции в Родительском linearLayout, который не доступен, потому что количество детей у нас есть только 4. Вот куда попадает проблема. Но опять же, это беспокоит меня, почему stacktrace не указывает на проблему там?

    Но опять же, спасибо тем, кто помог. Я сожалею, если это заняло слишком много вашего времени.