Я разрабатываю приложение, которое показывает карту на трех различных объектах MapActivities.
Для этого я повторно использую MapFragment в этих трех FragmentActivities, которые расширяют MapActivities с помощью порта Pete Doyle пакета Android Compatibility .
MapView, используемый в этом MapFragment, хранится в прикладном контексте .
Чтобы избежать «у этого представления уже есть родительский элемент» , я удаляю представление из текущего родителя при открытии другого действия:
ViewGroup parentViewGroup = (ViewGroup) app.mapViewContainer.getParent();
if( null != parentViewGroup ) {
parentViewGroup.removeView(app.mapViewContainer);
}
Все работает хорошо до того момента, когда я нажму кнопку возврата телефона и вернусь к предыдущему MapActivity. В настоящее время MapView полностью черный, так как я удалил его из родительского элемента при смене действий, а кнопка «Назад» не вызывает повторное создание представления ...
Мне известно об этом сообщении:
Как использовать несколько MapActivities / MapViews для приложения / процесса Android
На самом деле, у меня появилась идея повторно использовать MapView для разных видов деятельности из ответа Дэнни Ремингтон - MacroSolve дал.
Я не пытался использовать несколько процессов, так как считаю, что решение, которое я пытаюсь реализовать, намного легче в ресурсах.
Любая помощь будет принята с благодарностью!