Context-Menü on TableRow

  • Antworten:1
Christoph Wittstock
  • Forum-Beiträge: 7

17.10.2011, 23:48:01 via Website

witschi87;2069157
Hey Leute,

ich versuche gerade verzweifelt ein Context-Menü in meinem TableLayout zu implementieren. Ich füge dynamisch in mein TableLayout einige TableRows hinzu und "registiere" diese für Context-Menüs.
1final TableRow listRow = (TableRow) inflater.inflate(R.layout.suggestion_list_item, null);
2....
3registerForContextMenu(listRow);
Anschließend überschreibe ich die Methoden onCreateContextMenu und onContextItemSelected.

1@Override
2 public void onCreateContextMenu(ContextMenu menu, View v,
3 ContextMenuInfo menuInfo) {
4 super.onCreateContextMenu(menu, v, menuInfo);
5 MenuInflater inflater_menu = getMenuInflater();
6 inflater_menu.inflate(R.menu.context_suggestion, menu);
7 menu.setHeaderTitle(R.string.options);
8 }
Dies funktioniert bis dahin auch alles sehr gut, und wenn ich eine TableRow länger gedrückt halte, bekomme ich mein gewünschtes Context-Menü. Hier die xml dazu:
1<?xml version="1.0" encoding="utf-8"?>
2<menu
3 xmlns:android="http://schemas.android.com/apk/res/android">
4 <item android:id="@+id/edit"
5 android:title="@string/edit" />
6 <item android:id="@+id/delete"
7 android:title="@string/delete" />
8</menu>
Aber bereits in der onCreateContextMenu-Methode ist der Parameter menuInfo null. In der onContextItemSelected-Methode entsprechend auch. Nun die Frage: wie kriege ich beim Klick auf einen Context-Menüpunkt heraus, von welcher TableRow das Context-Menü geöffnet wurde?

Ich hoffe mir kann jemand helfen und ich hoffe ich habe alle nötigen und relevanten Code-Ausschnitte eingefügt.

Schönen Abend
Christoph

Antworten