0

这是手头的问题。我正在开发的应用程序在模拟器中运行良好,更准确地说是 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

提前感谢您抽出宝贵时间提供帮助。

更新 - 堆栈跟踪的图像

给出的是堆栈跟踪错误:

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

另一个更新

该应用程序已在另一部手机三星 note 3 上进行了测试。它的效果非常棒。但它仍然不适用于联想 s650 和 s920。还是想不通问题所在。

4

2 回答 2

0

尝试从到。Upgrade_ Version_Android Support Library23.0.123.3.0

于 2016-05-04T04:10:38.880 回答
0

我找到了这一切的罪魁祸首。如果你去下载我通过链接提供的源代码,你会发现:-

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

此代码稍后在代码中初始化多个线性布局的数量和名称,因此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));

badgeMes​​sage 正在寻找父 linearLayout 中第 5 个位置的孩子,这是不可用的,因为我们拥有的孩子数只有 4。这就是问题所在。但是话又说回来,为什么堆栈跟踪没有将问题指向那里,这让我很困扰?

但话又说回来,感谢那些帮助过的人。如果这占用了您太多时间,我很抱歉。

于 2016-05-04T06:50:07.903 回答