2012-10-19 26 views
-1

我正在使用Google API的地圖。我有以下例外。我想知道這個異常究竟意味着什麼?Android應用程序中的itemizedOverlay中的NullPointerexception

10-19 23:45:06.619: E/AndroidRuntime(837): FATAL EXCEPTION: main 
10-19 23:45:06.619: E/AndroidRuntime(837): java.lang.NullPointerException 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.google.android.maps.ItemizedOverlay.getItemsAtLocation(ItemizedOverlay.java:617) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.google.android.maps.ItemizedOverlay.getItemAtLocation(ItemizedOverlay.java:586) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.google.android.maps.ItemizedOverlay.handleMotionEvent(ItemizedOverlay.java:498) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.google.android.maps.ItemizedOverlay.onTouchEvent(ItemizedOverlay.java:572) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.google.android.maps.OverlayBundle.onTouchEvent(OverlayBundle.java:63) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.google.android.maps.MapView.onTouchEvent(MapView.java:679) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.view.View.dispatchTouchEvent(View.java:3885) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1691) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1125) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.app.Activity.dispatchTouchEvent(Activity.java:2096) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1675) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2194) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.view.ViewRoot.handleMessage(ViewRoot.java:1878) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.os.Handler.dispatchMessage(Handler.java:99) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.os.Looper.loop(Looper.java:130) 
10-19 23:45:06.619: E/AndroidRuntime(837): at android.app.ActivityThread.main(ActivityThread.java:3683) 
10-19 23:45:06.619: E/AndroidRuntime(837): at java.lang.reflect.Method.invokeNative(Native Method) 
10-19 23:45:06.619: E/AndroidRuntime(837): at java.lang.reflect.Method.invoke(Method.java:507) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
10-19 23:45:06.619: E/AndroidRuntime(837): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
10-19 23:45:06.619: E/AndroidRuntime(837): at dalvik.system.NativeStart.main(Native Method) 
+0

請,添加更多的信息。在此處粘貼代碼片段。您在Touch MapView上遇到'NullPointerException' –

+0

請添加您的代碼,以便我們幫助您找出您的'NullPointException'。它在邏輯上不可能看起來像這樣。那麼,還有可能是因爲2個原因。 1)。你沒有爲'ItemizedOverlay'創建對象實例,否則在你的方法'onTouchEvent'中缺少一些東西。 –

+0

我們無法從中看出。有些東西試圖在實例化之前使用(它是空的)。如果你發佈了更多錯誤來自哪裏的代碼,我們可能會提供幫助。另外,如果你在它發生的地方放置斷點,那麼你可以縮小給你空指針異常的變量/類。取決於它是什麼,你可以添加一個條件,以確保它不是空的,然後繼續執行代碼 – codeMagic

回答

1

像你的聲音忘了在構造函數中添加populate()

應該是這樣:

LocationItemizedOverlay(Drawable defaultMarker, Context context) { 
    super(boundCenterBottom(defaultMarker)); 
    this.context = context; 
    populate(); // Add this 
} 
..... 

它發生在移動地圖

相關問題