Tech. Forum 개발자들을 위한 정보 공유의 장입니다
닫기

Tech.Forum

지도띄우기에서 계속 오류나는 문제

#1

메인화면에서 두번쨰화면으로 액티비티를 넘겨서 두번째화면에 지도를 나타내려고합니다.
근데 계속 이런 오류가 발생합니다.
<오류캣>
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.view.ViewGroup.addView(android.view.View)’ on a null object reference
at com.example.tab.Exitmap.onCreate(Exitmap.java:43)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

메인화면에서 바로 지도 띄우는거는 문제없는데 인텐트로 다음화면 넘겨서 띄우려니까 오류가 납니다…ㅠㅠㅠ

tMapView = new TMapView(this);
LinearLayout linearLayoutTmap = (LinearLayout)findViewById(R.id.linearLayoutTmap);
tMapView.setSKTMapApiKey(“인증키”);
linearLayoutTmap.addView(tMapView);
tMapView.setHttpsMode(true);

0 Likes

#2

안녕하세요.
Tmap API 운영담당자입니다.

에러 내용을 보게되면, addView()함수 사용시 null값에서 사용하신것으로 보입니다.
새로운 엑티비티에서 지도를 띄우는 linearLayoutTmap 객체의 값이 첫번째 화면의
xml의 id를 참조한것으로 보이며, 정상적인 사용을 위해서 두번째 화면에 띄워질 지도의
setContentView()함수로 호출하시는 xml의 지도로 표출할 LinearLayoutd의 id를 참조하시면
됩니다.

아래에는 관련된 가이드 링크와 간단한 예시를 남겨드리겠습니다.
참고하시면 도움이 되실겁니다.


Ex)
-XML-
<LinearLayout
android:id="@+id/tmapView2"
android:layout_width=“match_parent”
android:layout_height=“600dp”
android:orientation=“vertical”>
</LinearLayout>

-JAVA-
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);

mMapView = new TMapView(this);
LinearLayout linearLayoutTmap = (LinearLayout)findViewById(R.id.tmapView2);

mMapView.setSKTMapApiKey(“발급 받은 AppKey”);
linearLayoutTmap.addView(mMapView);
mMapView.setHttpsMode(true);
}

[지도 생성하기 Sample]
http://tmapapi.sktelecom.com/main.html#android/sample/androidSample.sample1


감사합니다.

0 Likes