2

この以下のコードは、アラートダイアログを開いて正常に機能します。マップオーバーレイクラス内からコンテキストメニューを開くことができるかどうか疑問に思いましたか?

@Override
protected boolean onTap(int index) {
    OverlayItem item = mOverlays.get(index);
      AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
      dialog.setTitle(item.getTitle());
      dialog.setMessage(item.getSnippet());
      dialog.show();

  return true;
}
4

2 に答える 2

2

いいえ、mapView でコンテキスト メニューを開くことはできません

onTap イベントを開いてコンテキスト メニューを開きたいと思っていましたが、ほとんどの方法を試しましたが、すべて無駄でした。

必要に応じて、3 つのボタンで Alert.Builder を使用してアクションを実行する必要があります。または、アラート ビューをカスタマイズすることをお勧めします。

registerForContextMenu(mapView);

openContextMenu(mapView);

それは機能しません

于 2012-01-30T22:43:44.473 に答える
0

これはうまくいくかもしれません。

registerForContextMenu(mapView); // in onCreate

protected boolean onTap(int index) {
    mTappedItem = index;
    openContextMenu();
    return true;
}

public boolean onContextItemSelected(MenuItem item) {
    // do something if mTappedItem is valid.
    return true;
}
于 2011-03-15T16:06:46.717 に答える