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 事件打开上下文菜单我尝试了大多数方法,但都是徒劳的。

如果需要,也许您应该使用带有三个按钮的 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 回答