-1

입니다.지도 용 Google API를 사용하고 있습니다. 다음과 같은 예외가 있습니다. 나는이 예외가 정확히 무엇을 의미하는지 알고 싶다.android application의 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

우리는 이것을 알 수 없습니다. 뭔가 인스턴스화되기 전에 사용하려고합니다 (그것은 null입니다). 오류가 발생한 곳에서 더 많은 코드를 게시하면 도움을 줄 수 있습니다. 또한, 당신이 null pointer exception을주고있는 변수/클래스를 좁힐 수있는 곳에서 breakpoint를 두는 경우. 내용에 따라 – codeMagic

답변

1

populate()을 생성자에 추가하는 것을 잊어 버린 것 같습니다.

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

그것의 더 많은 정보를 추가하십시오지도

관련 문제