0

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());

しかし、それは機能しません。マップはメキシコのマークなしで表示されます。

誰かが私がどこで間違ったのか考えていますか?

4

1 に答える 1