这是手头的问题。我正在开发的应用程序在模拟器中工作得很好,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
另一个更新
该应用程序在另一部手机上测试,三星注意事项3.它就像一个魅力。但它仍无法在联想s650和s920上运行。仍然无法找出问题所在。
答案 0 :(得分:0)
尝试从Upgrade
到Version
Android Support Library
23.0.1
23.3.0
。{/ p>
答案 1 :(得分: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));
只要在数据库中插入新数据,这些badgeView就会弹出。所以你可以看到: -
badgeMessage = new BadgeView(MainMenuActivity.this, linear1.getChildAt(4));
badgeMessage正在查找父linearLayout中第5个位置的子节点,该节点不可用,因为我们拥有的子节点数仅为4.这就是问题所在的位置。但话说回来,困扰我为什么没有堆栈跟踪将问题指向那里?
但话又说回来,谢谢那些帮助过的人。对不起,如果这花费了你太多的时间。