0
setContentView 바로 다음에 ProgressDialog를 설정하여 ProgressDialog를 팝업합니다.Mapview에서지도 이미지 데이터가 완료된 후 ProgressDialog를 닫는 코드는 어디에 작성해야합니까?
mapview에서지도 이미지 데이터를 완성한 후 ProgressDialog를 닫으려면 메서드를 호출하고 싶습니다.
내가 해고 할 코드를 어디에 써야하는지 알고 싶습니다.
다음 소스 코드를 작성했습니다. 도와 주시면 정말 감사하겠습니다.
감사합니다. 여기
package sample.MyMap;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import com.google.android.maps.MapView;
public class MyMapView extends MapView {
public MyMapView(Context context, String apiKey) {
super(context, apiKey);
}
public MyMapView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyMapView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
Log.d("TEST", "onDetachedFromWindow");
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
Log.d("TEST", "onSizeChanged");
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
Log.d("TEST", "onWindowFocusChanged");
}
@Override
public void preLoad() {
super.preLoad();
Log.d("TEST", "preLoad");
}
}
내 매니페스트 파일입니다 :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0" package="sample.MyMap">
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:label="@string/app_name" android:name="MyMapActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps"></uses-library>
</application>
</manifest>
감사합니다. 내가 가르친 소스를 시험해 보았습니다. 그러나 결과는 다음과 같은 런타임 오류가 발생했습니다. "java.lang.RuntimeException : Looper.prepare()를 호출하지 않은 스레드에서 처리기를 만들 수 없습니다." 그런 다음 핸들러를 사용할 수 있도록 코드를 변경했습니다. 하지만 제대로 작동하지 않을 수 있습니다. 로그 파일에 따르면 진행 대화 상자가 즉시 표시되고 해제되었습니다. 화면에서 대화 상자를 볼 수 없습니다. 지도보기에서지도의 이미지 다운로드가 완료되지 않았습니다. 다른 아이디어를 알려주시겠습니까? – Atsushi
다음과 같이 시도하십시오 : ----- 먼저 진행 대화 상자를 정적으로 만드십시오. 그런 다음 map.getOverlays() 다음에 initMyLocation() 메소드에 progressDialog.dismiss()를 넣으십시오. add (overlay); 당신이 얻은 답장 ... –
나는 당신의 조언처럼 노력했습니다. 그러나 이전과 같은 결과를 얻었습니다. 대화 상자가 곧 해제되었습니다. 그런 다음지도보기에서 여전히 이미지를로드 중입니다. – Atsushi