2011-05-04 160 views
0

我在mapView中創建覆蓋圖,問題是當我再次返回到mapsview活動時,我看到之前製作的覆蓋圖。我已經嘗試刪除ondestroy方法,這does not幫助overlays.Tried所有,相信me.heres代碼...另外在onCreate()我已經使用mapView.invalidate();這也沒有幫助。活動結束後,我只想擺脫疊加層。任何解決方案從mapView刪除覆蓋圖

@Override 
protected void onDestroy(){ 
    super.onDestroy(); 
    stopWorker=true; 
    mapView.invalidate(); 
    mapView.postInvalidate(); 
    for (int i=0; i<mapView.getOverlays().size(); i++) { 
     mapView.getOverlays().remove(i); 
    } 

    Toast.makeText(this,"map destroy ...", Toast.LENGTH_LONG).show(); 
    mapView.getOverlays().clear(); 
} 

回答

6

看起來像你的活動沒有得到完成。只有在活動完成後,它纔會進入onDestroy狀態。嘗試在onPause()或onResume()中編寫相同的代碼。

2

活動結束後,疊加層會自動刪除。你的代碼中有一些其他的錯誤。例如,您可能正在通過按HOME來測試此功能,該功能不會觸發onDestroy()