2017-10-07 1 views
0

getActionView immer null zurück:Wie verwende ich setOnLongClickListener für den Menüpunkt in der Navigationsleiste von Android?

public boolean onNavigationItemSelected(MenuItem item) { 
    item.getActionView().setOnLongClickListener(new View.OnLongClickListener() { 
     @Override 
     public boolean onLongClick(View v) { 
      Toast toast = Toast.makeText(
       getApplicationContext(), "Hello, World!", Toast.LENGTH_SHORT); 
      toast.show(); 
      return false; 
     } 
    }); 
} 

Ich gewohnt nicht anderes Layout verwenden, ich möchte auf Artikel langen Klick eingestellt.

+0

hinzufügen auf Touch Zuhörer folgen den Posten https://stackoverflow.com/a/46618738/4456860 – leopragi

Antwort

0
  1. Aufblasen: Ansicht anzeigen = neu Ansicht (this);
  2. Set listener: view.setOnLongClickListener();
  3. Aktionsansicht festlegen: menuItem.setActionView (view);
+0

Wenn ich Ansicht verwenden, meine Artikel nicht aussehen wie ich :(will – superpuper

+0

@superpuper Ja, du hast recht Auch dieser Code fügt eine Ansicht rechts von menuItem hinzu –

+0

Ich führte auch eine kleine Recherche durch und fand heraus, dass, selbst wenn Sie Zugriff auf menuItem erhalten können, view instance setting longclicklistener nicht funktioniert. –

Verwandte Themen