OnCreateContextMenu und ListView-Elemente

Ich habe eine LisView mit mehreren Artikeln. Daran habe ich einen OnItemClickListener (als innere Klasse) wie folgt angeschlossen:

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Toast.makeText(ShoppingListApp02Activity.this, "List item selected:" +  
    items.get(position).getId(), Toast.LENGTH_LONG).show();
    }
});

Es ist offensichtlich, dass beim Auswählen eines Eintrags Elemente des Objekts dieses Eintrags angezeigt werden, in diesem Beispiel die ID des ausgewählten Elementobjekts (nicht die Listen-ID, sondern die Objekt-ID, die beim Erstellen der ArrayList-Elemente festgelegt wurde). Dies funktioniert gut und ermöglicht es mir, mit den ausgewählten Elementen alles zu tun, was ich will.

Jetzt hätte ich auch gerne einen "Lang-Klick" -Listener, der ein Kontextmenü für das ausgewählte ListView-Objekt öffnet. Wie mache ich das? Ich konnte einen onCreateContextMenu-Listener an die ListView anhängen, sehe aber nicht, wie ich die Elemente der ArrayList wie beim onItemClickListener abrufen kann.

Folgendes habe ich:

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {  
    menu.add(0, v.getId(), 0, "Something");
    menu.add(0, v.getId(), 0, "Something else");  
}

Da OnCreateConextMenu andere Parameter als OnItemClickListener verwendet, wie kann ich auf die ArrayList-Elemente wie im OnItemClickListener zugreifen?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage