在我們的Android移動應用程序(與Android版本4.0及更高版本兼容)中,我們使用Google Maps API V2。Google Maps API Android - NullPointerException - setBoundsInParent
在android.view.accessibility.AccessibilityNodeInfo類的setBoundsInParent方法中,我們從某些類型的設備(Android版本4.3,4.0和5.0)中的用戶獲取了一些錯誤報告,其中包含NullPointerException。
當用戶嘗試移動或放大地圖時,應用程序崩潰。
該問題僅出現在某些用戶 - 設備上。我們的大部分客戶都沒有這個問題。
這個問題似乎來自於使用谷歌地圖API的setPadding方法來定位的谷歌徽標,它總是在地圖上清晰可見:
@Override
protected void onCreate(Bundle savedInstanceState)
{
...
// Initialize map
...
// Sets the padding for the map
if(mMap!=null)
{
mMap.setPadding(0, DPI.toPixels(100), 0, DPI.toPixels(100));
}
...
}
卸下調用setPadding方法似乎爲受影響的用戶解決了問題,但對我們來說這不是一個有效的解決方案,因爲我們需要使用此方法來定位Google徽標。
我們不能在我們的開發設備上重現這個問題,所以我們很難找到這個問題的真正起源。
你會發現下面的錯誤的完整堆棧跟蹤。
有人有想法嗎?
非常感謝您的回答。
此致敬禮。
堆棧跟蹤在Android 4.3 - 4.4
java.lang.NullPointerException
at android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent(AccessibilityNodeInfo.java:1012)
at android.support.v4.view.a.k.c(SourceFile:819)
at android.support.v4.view.a.i.b(SourceFile:1850)
at com.google.maps.api.android.lib6.c.et.a(Unknown Source)
at android.support.v4.widget.ab.a(SourceFile:56)
at android.support.v4.widget.ac.a(SourceFile:717)
at android.support.v4.view.a.x.a(SourceFile:112)
at android.support.v4.view.a.ad.createAccessibilityNodeInfo(SourceFile:42)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchAccessibilityNodeInfos(AccessibilityInteractionController.java:724)
at android.view.AccessibilityInteractionController.findAccessibilityNodeInfoByAccessibilityIdUiThread(AccessibilityInteractionController.java:147)
at android.view.AccessibilityInteractionController.access$300(AccessibilityInteractionController.java:49)
at android.view.AccessibilityInteractionController$PrivateHandler.handleMessage(AccessibilityInteractionController.java:971)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5212)
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:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)
堆棧跟蹤在Android 5.0
java.lang.NullPointerException: Attempt to read from field 'int android.graphics.Rect.left' on a null object reference
at android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent(AccessibilityNodeInfo.java:1316)
at android.support.v4.view.a.k.c(SourceFile:819)
at android.support.v4.view.a.i.b(SourceFile:1850)
at com.google.maps.api.android.lib6.c.et.a(Unknown Source)
at android.support.v4.widget.ab.a(SourceFile:56)
at android.support.v4.widget.ac.a(SourceFile:717)
at android.support.v4.view.a.x.a(SourceFile:112)
at android.support.v4.view.a.ad.createAccessibilityNodeInfo(SourceFile:42)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchAccessibilityNodeInfos(AccessibilityInteractionController.java:894)
at android.view.AccessibilityInteractionController.findAccessibilityNodeInfoByAccessibilityIdUiThread(AccessibilityInteractionController.java:155)
at android.view.AccessibilityInteractionController.access$400(AccessibilityInteractionController.java:53)
at android.view.AccessibilityInteractionController$PrivateHandler.handleMessage(AccessibilityInteractionController.java:1236)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
嘗試從空字段'int android.graphics.Rect.left'讀取空對象引用。檢查你的代碼(setBoundsInParent(AccessibilityNodeInfo.java:1012))或附加它們 – Xcihnegn 2015-02-06 09:01:23
但是,謝謝你,這個類不在我們的代碼中,而是在Android庫的代碼中。 – 2015-02-06 09:32:49
你必須檢查你的代碼,也許你正在使用主UI做一些繁重的任務 – Xcihnegn 2015-02-06 09:48:23