2017-12-27 12 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(); 
     } 
    }); 

} 

그 버튼을 측면에 열 필요가 빨간색 원 팝업 메뉴에있는 삭제 버튼을 클릭하지만 개방 상부의 PopupMenu는 recycleview에서 제대로 작동하지

image

+0

새로운 PopupMenu (context, holder.iv_delete); 대신에'새로운 PopupMenu (context, v);'시도하십시오. –

+0

@EduardoHerzer 시도했지만 작동하지 않습니다. – skIndia

+0

@skIndia 내 ans을 확인하십시오. –

답변

0

을 시도하면
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>