В руководстве по HelloMapView карта загружается нормально. могу видеть карты, а также я вижу отметку Мексики, которую дает пример.
Но когда я нажимаю на значок Мексики, мое приложение вылетает с сообщением
Сбой приложения Android
Я думаю, что знаю, в чем проблема, но я не знаю, как ее решить:
На шаге 7 в руководстве говорится следующее:
Теперь настройте возможность обработки событий касания элементов наложения. Во-первых, вам понадобится ссылка на приложение Context как член этого класса. Поэтому добавьте Context mContext в качестве члена класса, а затем инициализируйте его с помощью нового конструктора класса:
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
super(defaultMarker);
mContext = context;
}
Хорошо, но в основном учебном классе, когда он объявляет этот класс, он не дает ему контекст:
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable);
Я пытался сделать это: new HelloItemizedOverlay(drawable, getApplicationContext());
но это не работает, карта отображается без отметки Мексики.
Кто-нибудь знает, где я ошибся?
adb logcat
, DDMS или перспективу DDMS в Eclipse, чтобы посмотреть на LogCat и изучить трассировку стека, связанную со сбоем приложения Android. Кроме того, не используйтеgetApplicationContext()
для операций с графическим интерфейсом — вместо этого используйтеthis
. - person CommonsWare   schedule 12.10.2010