如何在MapView上创建上下文菜单?

时间:2011-01-14 11:33:43

标签: android android-mapview contextmenu

我想在MapView上设置一个上下文菜单,让用户在后台选择地图或卫星照片。我试图按照Creating Menus创建一个上下文菜单,但它对我不起作用。

应用程序可以正常工作但不显示上下文菜单。如何在MapView上创建上下文菜单?

在我onCreate()我有这段代码:

    MapView mapView = (MapView) findViewById(R.id.mapview);
    registerForContextMenu(mapView);

我已经克服了一些方法:

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo info) {
    super.onCreateContextMenu(menu, v, info);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.context_menu, menu);
}

@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    switch (item.getItemId()) {
    case R.id.map_view_item: 
        return true;
    case R.id.satellite_item: 
        return true;
    default: return super.onContextItemSelected(item);
    }
}

1 个答案:

答案 0 :(得分:2)

正常的长按点处理似乎与MapView不兼容,可能是由于它处理触摸事件的方式。如果你真的需要这个功能,Theresome workarounds