2016-09-29 2 views
0


Ich habe eine Anwendung entwickelt, die einige itens in einer Listenansicht speichert. Einige dieser Itens haben einen Typ (Normal und Traffic Based Event). Ich muss ein Element des Kontextmenüs (View Traffic) sichtbar machen, wenn der Typ des in der Listenansicht gespeicherten Elements gleich dem Traffic Based Event ist.
Kontext Menüelement ausblenden basierend auf Listenansicht Element

Ich habe versucht, die Bedingung (Menuitem.setVisible (true)) in die Methoden onCreateContextMenu und onContextItemSelected zu platzieren, aber keiner von ihnen hat funktioniert. Sonst habe ich hier beim Stack Overflow einen Post gelesen, der nicht geholfen hat.

Set visibility in Menu programmatically android

How enable/disable item in contextmenu

Jemand wissen, ob es eine Möglichkeit, das zu tun ist?

EDIT: Ich habe versucht, eine Methode zu verwenden, die auf dem zweiten Beitrag zitiert wird, und es stellte den Menüeintrag sichtbar. Ich brauche immer noch die Position des Objekts, das tief in die Listenansicht geklickt wurde, um den Typ zu erhalten.

@Override 
public void onPrepareOptionsMenu(Menu menu) { 
    super.onPrepareOptionsMenu(menu); 
    menu.getItem(2).setEnabled(true); 
} 

Antwort

0

Statt mit getItem (int), können Sie das Element mit seiner ID zu bekommen. Zum Beispiel:

menu.findItem(R.id.action_settings)

Verwandte Themen