Alternativ können Sie eine floating context menu verwenden.
(3 Jahre später, liest eigentlich, dass Floating-Kontextmenü nur für lange Klicks funktioniert und hastig bearbeitet Antwort).
Sie benötigen würde Ihre Ansicht für das Kontextmenü zu registrieren, um das Menü öffnen, dann austragen es (so, dass die Lang klickt auf das Aktionselement hat es nicht wieder auslösen):
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.my_menu_item) {
View view = item.getActionView();
registerForContextMenu(view);
openContextMenu(view);
unregisterForContextMenu(view);
return true;
}
return super.onOptionsItemSelected(item);
}
und Natürlich implementieren Sie gemäß der Dokumentation verknüpft. Die bessere Wahl wäre, wie OP geschrieben hat, einen AlertDialog in diesem speziellen Fall zu verwenden, wenn Sie einen zentrierten Dialog wünschen, oder eine PopupMenu, wenn Sie möchten, dass das Menü am Aktionselement verankert wird. Das Popup-Menü könnte jedoch seltsam sein, weil es sich wie ein Überlaufmenü anfühlt.
Ich würde einen 'AlertDialog' mit' CHOICE_MODE_SINGLE' aufrufen. – sastraxi
Ich mache etwas ähnliches hier !!! http://stackoverflow.com/questions/16621070/get-context-of-popupmenu-like-contextmenu – toobsco42