2017-12-27 8 views
0
holder.iv_delete.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      final PopupMenu popupMenu = new PopupMenu(context, holder.iv_delete); 
      MenuInflater inflater = popupMenu.getMenuInflater(); 
      inflater.inflate(R.menu.menu_Popup, popupMenu.getMenu()); 
      popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
       @Override 
       public boolean onMenuItemClick(MenuItem item) { 
        switch (item.getItemId()) { 
         case R.id.action_alert: 
          //perform operstion 
          return true; 
        case R.id.action_delete: 
          //perform operstion 
          return true; 
        } 

        return false; 
       } 
      }); 


      popupMenu.show(); 
     } 
    }); 

} 

Wenn ich auf Löschen-Knopf klicken, das in roten Kreis Popup-Menü ist, muß auf dieser Schaltfläche Seite öffnen, aber es ist offen OberseitePopupMenu nicht richtig in recycleview Arbeits

image

+0

Versuchen Sie 'new PopupMenu (Kontext, v);' anstelle von neuen 'PopupMenu (Kontext, holder.iv_delete);' –

+0

@ EduardoHerzer Ich habe versucht, aber es funktioniert nicht. – skIndia

+0

@skIndia bitte überprüfen Sie meine ans. –

Antwort

0

Versuchen Sie, diese

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

    Context wrapper = new ContextThemeWrapper(context, R.style.popupMenuStyle); 
    PopupMenu popupMenu = new PopupMenu(wrapper, v, Gravity.END); 

    popupMenu.inflate(R.menu.menu_Popup); 

    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
       @Override 
       public boolean onMenuItemClick(MenuItem item) { 
        switch (item.getItemId()) { 
         case R.id.action_alert: 
          //perform operstion 
          return true; 
        case R.id.action_delete: 
          //perform operstion 
          return true; 
        } 

        return false; 
       } 
      }); 


    popupMenu.show(); 
     } 
    }); 

styles.xml

<style name="popupMenuStyle" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:textColor">#000000</item> 
     <item name="android:itemBackground">#FFFFFF</item> 
</style>