2015-05-25 5 views
6

Ich habe ein Popup-Menü für meine Android-Anwendung implementiert. Ich habe ein XML für Popup-Menü erstellt und Code funktioniert auch gut. Nun, was ich nicht herausfinden kann ist, wie man mit Popup-Menüpunkten klickt. Ich habe versucht, PopupMenu.OnMenuItemClickListener zu verwenden, war aber nicht erfolgreich. Wie kann ich das machen?Umgang mit Popup-Menüelementen klicken

Mein Code für Popup-Menü

ImageButton button = (ImageButton) view.findViewById(R.id.popUp_song); 

      button.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 


        PopupMenu popup = new PopupMenu(activity, v); 
        Menu m = popup.getMenu(); 
        MenuInflater inflater = popup.getMenuInflater(); 
        inflater.inflate(R.menu.song_popup, popup.getMenu()); 

        if (audio.getDownload().equals("0")) { 

         m.removeItem(R.id.add_download); 

        } 

        popup.show(); 
       } 


      }); 

xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/ToolBarStyle"> 

    <item 
     android:id="@+id/add_queue" 
     android:title="Add to queue" /> 
    <item 
     android:id="@+id/play_next" 
     android:title="Add to favourite" /> 
    <item 
     android:id="@+id/add_download" 
     android:title="Download" /> 


</menu> 

Antwort

10

Bevor zeigt die PopupMenu einen Listener für den Umgang mit den Click-Ereignisse für PopupMenu hinzufügen.

popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() { 

        @Override 
        public boolean onMenuItemClick(MenuItem item) { 
         Toast.makeText(getApplicationContext(), 
           item.getTitle(), Toast.LENGTH_SHORT).show(); 
         return true; 
        } 
       }); 
+0

ja es hat funktioniert !! – CraZyDroiD