Как я могу центрировать мой MapView только при начальной загрузке? - PullRequest
1 голос
/ 24 марта 2011

Я работаю над приложением Android с MapActivity, и у меня возникают проблемы с надлежащим образом управлять состоянием MapView.

В основном у меня есть действие, которое запускает MapActivity при его выходе и в этот моментТочка мне нужно центрировать карту.Во всех остальных случаях, когда MapActivity просматривается, мне нужно, чтобы он в основном сохранял свое последнее состояние, а не изменял положение или уровень масштабирования или что-либо еще.Он отлично работает при переходе к другим действиям, пока MapActivity не уничтожена полностью, однако мне нужно, чтобы карта сохранила свое состояние при изменении ориентации устройства.Как известно большинству разработчиков Android, когда это происходит, действие уничтожается и воссоздается, и в этот момент мой MapView перецентрируется, и я этого не хочу.

Как я могу расположить свой код так, чтобы я могвыполнить мою процедуру центрирования, когда MapActivity запускается из моего другого действия, и не выполнить мою процедуру центрирования иначе?

1 Ответ

1 голос
/ 24 марта 2011

Вернуть что-то не-null из onRetainNonConfigurationInstance().Затем, где бы вы ни центрировали карту, звоните getLastNonConfigurationInstance().Если это null, центр;если это не null, не центрируйте.

...