MapActivityのonTap関数は、マップをクリックした要素に関係なく、常に0を返します。これはonTap関数です。
@Override
protected boolean onTap(int i) {
OverlayItem item = myOverlays.get(i);
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setTitle(item.getTitle());
dialog.show();
return true;
}
//myOverlays is a ArrayList<OverlayItem>
でも。関数が実行されるたびに、インデックス(i)は常に0です。ブレークポイントとログデバッグの両方を使用してこれを確認しました。この関数を使用している間、正しいダイアログの内容を受け取っているので、これは私をかなり当惑させます。
item.getTitle()は、クリックされた要素に適切なタイトルを取得します。これは、item-objectが正しいことを意味します。つまり、インデックス(i)が常に0であっても、 myOverlays.get(i)は何らかの方法でさまざまなオブジェクトを取得できます。気が遠くなるようなです。
誰かが私を啓発する気がありますか?これは、「クリック」がエミュレーターで実行されるという事実に関連する問題である可能性があると思いますか?
前もって感謝します。クリス