Как создать контекстное меню на MapView? - PullRequest
3 голосов
/ 14 января 2011

Я хотел бы иметь контекстное меню на моем MapView и позволить пользователю выбирать между картой или спутниковой фотографией на заднем плане.Я попытался создать контекстное меню, выполнив Создание меню , но у меня это не работает.

Приложение работает, но контекстное меню не отображается.Как я могу создать контекстное меню на моем 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 Ответ

2 голосов
/ 14 января 2011

Похоже, что обычная обработка длинных щелчков не работает с MapView, возможно, из-за способа обработки событий касания. Есть некоторые обходные пути , если вам действительно нужна функциональность.

...