如何仅在初始加载时将我的MapView居中?
问题描述:
我正在使用MapActivity处理Android应用程序,并且无法以适当的方式管理MapView状态。如何仅在初始加载时将我的MapView居中?
基本上我有一个活动,当它退出时启动MapActivity,此时我需要居中放置地图。所有其他时间,我都需要它基本上保留它的最后状态,而不是改变它的位置或缩放级别或任何东西。只要MapActivity没有完全销毁,它在导航到其他活动时工作正常,但是我需要地图在设备方向更改时保留它的状态。由于大多数Android开发人员都知道,当发生这种情况时,Activity被破坏并重新创建,此时我的MapView重新居中,我不希望它。
如何安排我的代码,以便在MapActivity从其他活动启动时执行我的居中例行程序,否则不执行我的居中过程?
答
返回非null
从onRetainNonConfigurationInstance()
。然后,无论您将地图集中在哪里,请致电getLastNonConfigurationInstance()
。如果是null
,center;如果它不是null
,则不要居中。
工程很好!谢谢。当我将Android配置为立即销毁活动(开发设置),然后使用后退按钮离开MapActivity时,它不会从我的其他活动启动时将地图重新居中。不知道那里发生了什么,但它可能不相关。 – rushinge 2011-03-24 17:51:41