我在mapView中创建叠加层,问题是当我再次回到mapsview活动时,我会看到我之前创建的叠加层。我试图删除ondestroy方法中的叠加层,它没有帮助。全部,请相信me.heres代码...同样在onCreate()我使用了mapView.invalidate();这也没有帮助。我只是想在活动结束时摆脱覆盖。任何解决方案?
@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();
}
答案 0 :(得分:6)
好像你的活动没有完成。只有在Activity完成后,它才会进入onDestroy状态。尝试在onPause()或onResume()中编写相同的代码。
答案 1 :(得分:2)
活动结束后会自动删除叠加层。您的代码中还有其他一些错误。例如,您可能通过按HOME来测试它,这不会触发onDestroy()
。