1

我正在开发一个带有 MapActivity 的 Android 应用程序,但无法以适当的方式管理 MapView 状态。

基本上我有一个在 MapActivity 退出时启动它的活动,此时我需要将地图居中。在查看 MapActivity 的所有其他时间,我需要它基本上保持它的最后状态,而不是改变它的位置或缩放级别或任何东西。只要 MapActivity 没有被完全破坏,导航到其他活动时它就可以正常工作,但是我需要地图在设备方向发生变化时保持其状态。由于大多数 Android 开发人员都知道 Activity 在发生这种情况时被销毁并重新创建,此时我的 MapView 重新居中,我不希望它这样做。

如何安排我的代码,以便在从我的其他活动启动 MapActivity 时执行我的居中例程,否则不执行我的居中例程?

4

1 回答 1

1

返回非nullfrom 的东西onRetainNonConfigurationInstance()。然后,无论您在地图的中心位置,调用getLastNonConfigurationInstance(). 如果是null, 居中; 如果它是非null,不要居中。

于 2011-03-24T17:05:37.243 回答