2

마커가있는지도보기에서 작업하고 있습니다. 마커를 클릭하면 거품이 표시됩니다.지도보기에서 거품을 클릭 할 때 nullpointer 예외가 발생했습니다.

거품을 클릭하면 축배가 완벽하게 표시됩니다.

거기서 활동을 시작하고 싶지만 예외가 발생합니다.

@Override 
protected boolean onBalloonTap(int index) { 
try{ 
Activity a=new Activity(); 
a.startActivity(new Intent(a.getBaseContext(),BruConnect_Detail.class)); 
//  Toast.makeText(c, "onBalloonTap for overlay index " + index, 
//    Toast.LENGTH_LONG).show(); 
}catch(Exception e){ 
Log.v(TAG,"error:"+e); 
e.printStackTrace(); 
} 
return true; 
} 

내 로그 캣 디스플레이가 보여줍니다 :

03-04 23:53:13.311: VERBOSE/MyItemizedOverlay(713): error:java.lang.NullPointerException 
03-04 23:53:13.322: WARN/System.err(713): java.lang.NullPointerException 
03-04 23:53:13.331: WARN/System.err(713):  at android.content.ComponentName.<init>(ComponentName.java:75) 
03-04 23:53:13.331: WARN/System.err(713):  at android.content.Intent.<init>(Intent.java:2551) 
03-04 23:53:13.352: WARN/System.err(713):  at com.example.bruconnect.MyItemizedOverlay.onBalloonTap(MyItemizedOverlay.java:47) 
03-04 23:53:13.352: WARN/System.err(713):  at com.example.bruconnect.BalloonItemizedOverlay$1.onTouch(BalloonItemizedOverlay.java:135) 
03-04 23:53:13.373: WARN/System.err(713):  at android.view.View.dispatchTouchEvent(View.java:3705) 
03-04 23:53:13.373: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:852) 
03-04 23:53:13.382: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.392: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.402: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.402: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.411: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.424: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.431: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.462: WARN/System.err(713):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659) 
03-04 23:53:13.474: WARN/System.err(713):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
03-04 23:53:13.482: WARN/System.err(713):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061) 
03-04 23:53:13.482: WARN/System.err(713):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643) 
03-04 23:53:13.502: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.502: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.512: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.525: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.525: WARN/System.err(713):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
03-04 23:53:13.525: WARN/System.err(713):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659) 
03-04 23:53:13.533: WARN/System.err(713):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
03-04 23:53:13.542: WARN/System.err(713):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061) 
03-04 23:53:13.552: WARN/System.err(713):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643) 
03-04 23:53:13.552: WARN/System.err(713):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1691) 
03-04 23:53:13.562: WARN/System.err(713):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-04 23:53:13.562: WARN/System.err(713):  at android.os.Looper.loop(Looper.java:123) 
03-04 23:53:13.562: WARN/System.err(713):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
03-04 23:53:13.581: WARN/System.err(713):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-04 23:53:13.581: WARN/System.err(713):  at java.lang.reflect.Method.invoke(Method.java:521) 
03-04 23:53:13.591: WARN/System.err(713):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
03-04 23:53:13.601: WARN/System.err(713):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
03-04 23:53:13.601: WARN/System.err(713):  at dalvik.system.NativeStart.main(Native Method) 

문제가 무엇

이 내 코드? 문제는 컨텍스트 값이라고 생각합니다. 이 문제를 해결하기위한 아이디어 나 제안이 있으십니까?

답변

1

즉시 추적 버그는 스택 추적에 따라 라인 47에서 MyItemizedOverlay.java에 있습니다.

그리고 새롭게 Activity을 만들 수는 없습니다. 액티비티를 시작하려면 Context (예 : MapView이 포함 된 액티비티 또는 애플리케이션 컨텍스트)이 필요합니다.

또한 측면 설명 : onBalloonTap은 어디에 정의되어 있습니까? 그것은 표준 ItemizedOverlay 방법으로 보이지 않습니다.

+0

안녕하세요, 나도 같은 문제에 부딪 혔습니다. 이 문제를 어떻게 해결할 수 있는지 안내해 주시겠습니까? 기본적으로 내 MapView가 포함 된 활동에 액세스하는 방법을 이해해야한다고 생각합니다. & @Praveen 응답을 기대합니다. – Ahmed

관련 문제