/** Adds Popup menu */ protected void addPopup() { if (mCardHeader.getPopupMenu() > -1 && mImageButtonOverflow != null) { // Add a PopupMenu and its listener mImageButtonOverflow.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { PopupMenu popup = new PopupMenu(getContext(), mImageButtonOverflow); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(mCardHeader.getPopupMenu(), popup.getMenu()); popup.setOnMenuItemClickListener( new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { if (mCardHeader.getPopupMenu() > 0 && mCardHeader.getPopupMenuListener() != null) { // This individual card has it unique menu mCardHeader .getPopupMenuListener() .onMenuItemClick(mCardHeader.getParentCard(), item); } return false; } }); popup.show(); } }); } else { if (mImageButtonOverflow != null) mImageButtonOverflow.setVisibility(GONE); } }