MapView без расширения MapActivity

Есть ли способ отображать MapView без расширения MapActivity? У меня есть другой класс Activity, который я расширяю, и я бы предпочел не изменять его... Я видел, что вы можете раздуваться с помощью MapActivity, но не нашли каких-либо спецификаций/примеров о том, как это сделать.

Ответы

Ответ 1

Есть ли способ отображения MapView без расширения MapActivity?

Не то, чтобы я знал.

Я мог бы расширить свой класс с помощью MapActivity, но это будет означать все моя деятельность расширила бы его

Затем вам нужно реорганизовать свой код, чтобы ваши действия не все наследовали от вашего собственного базового класса. Наследование не является очень гибкой техникой OO, особенно в Java.

Ответ 2

Практический способ состоит в том, чтобы сделать две версии вашего исходного базового действия, и единственное различие между ними: один расширяет Activity, а другой расширяет MapActivity (та же проблема с ListActivity).

Есть повторяющиеся коды. Этот плохой запах я знаю. Но они почти идентичны, вы можете просто скопировать весь файл и внести небольшую модификацию, когда вы изменили базовую активность.

Ответ 3

В настоящий момент вы можете использовать фрагменты, чтобы отображать карту в любом месте вашей деятельности, и вашему основному действию не нужно расширять карту. у вас есть реализация в MapView в фрагменте (Honeycomb)