Beispiel #1
0
  /** 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);
    }
  }