MapView без MapActivity

Я пишу это приложение для Android, где у меня есть много действий, которые расширяют класс Activity. Мне также нужно действие, которое использует MapView для отображения карты вместе с ListView на экране (аналогично списку арендованных домов, где дома отображаются с помощью булавок на карте). Поскольку у меня есть базовый класс, который расширяет класс Activity, все другие действия расширяют этот базовый класс. Только тот конкретный экран, на котором есть карта, должен расширять класс MapActivity. Когда я пытаюсь это сделать, я выбрасываю исключение IllegalAccessError.

Настройка проекта — Android 2.1-update1 и GoogleAPI 2.1-update 1 вызывают одно и то же исключение. Приложение предназначено для планшета.

Я убедился, что у меня есть запись в манифесте.

Любая помощь приветствуется.


person Neo    schedule 31.03.2011    source источник


Ответы (2)


Я не думаю, что есть какой-то способ обойти это. MapView будет работать только в MapActivity, и каждая MapActivity может содержать только 1 MapView. Я столкнулся с подобными проблемами при использовании одного базового класса Activity. Попробуйте переместить часть кода из базового класса либо в статические методы, либо в составной шаблон проектирования, чтобы сократить объем копируемого кода. Должна быть возможность спроектировать ваш код так, чтобы между вашей базовой активностью и вашей MapActivty нужно было дублировать только методы onX.

person skorulis    schedule 31.03.2011
comment
Спасибо за те отзывы скорулись. Я иду в направлении, которое вы предложили. - person Neo; 31.03.2011

Наконец, появился Google Maps API v2.

https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/MapFragment

Они услышали нас! :)

person Neo    schedule 05.01.2013