2015-05-25 37 views
6

Android uygulamam için bir açılır menü başlattım. Açılır menü için bir xml oluşturdum ve kod da iyi çalışıyor. Şimdi anlayamadığım şey, açılan menü öğelerinin nasıl tıklanacağıdır. PopupMenu.OnMenuItemClickListener'ı kullanmayı denedim, ancak başarılı olmadı. Bunu nasıl yapabilirim? PopupMenu tıklama olayları işlemek için PopupMenu için işleyici eklenemez göstermeden önce açılan menü içinAçılır menü öğelerini kullanma

Kodum

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> 

cevap

10

.

popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() { 

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

evet işe yaradı! – CraZyDroiD

İlgili konular