Контекст по умолчанию для AlertDialog.Builder для представления на карте?

StackOverflow https://stackoverflow.com/questions/4064043

Вопрос

Я пытался следовать Это руководство На использовании Google Map View в Android. Во второй части они создают mContext переменная участника, а затем передать это в AlertDialog.Builder(mContext), но конструктор, который они призывают создать экземпляр HelloItemizedOverlay не создает mContext, Так что это просто осталось null насколько я знаю.

Программа не работает должным образом и бросает NullPointerException Как я подозревал. Как это должно работать?

Спасибо,
Jgerer

Это было полезно?

Решение

В руководстве шага 2 (раздел OnCreate) они создали администрирование HelloitemizedOverlay:

HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable);

Но обратите внимание, что в конструкторе HalloitemizedEmizeVerlay это берет на себя тяги и контекст:

public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
    super(defaultMarker);
    mContext = context;
}

Так что вина с учебником. Они создают урок без контекста объекта, делая его NULL. В вашем методе OnCreate () просто добавьте this конструктору.

Другие советы

Общественные HelloitemizedemizedemlessOverlay (Drawablemarkmarkmarmer, контекст контекста) {Super (Bandcenterbottom (Defaultmarmarm)); mcontext = контекст; }

Создать один конструктор для HelloItemizedOverlay Принимая два параметра: drawable а также this.

Учебное пособие звучит так, как вы должны сделать два конструктора для разного количества параметров.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top