PopupMenu onMenuItemClick未被调用

问题描述 投票:0回答:1

我有一个类AddPhotoMenu

public class AddPhotoMenu extends PopupMenu implements PopupMenu.OnMenuItemClickListener {
    public AddPhotoMenu(Context context, View anchor) {
        super(context, anchor);
    }

    @Override
    public boolean onMenuItemClick(MenuItem item) {
        Log.d(TAG, "onMenuItemClick: Called");
        switch (item.getItemId()) {
            case R.id.popup_menu_fragevent_takephoto:
                //Inflate a layout
                Log.d(TAG, "onMenuItemClick: Take photo");

                break;
            case R.id.popup_menu_fragevent_selectphotos:
                //Inflate a layout

                Log.d(TAG, "onMenuItemClick: Select photo");
                break;

        }
        return false;
    }
}

并且我创建了它的新实例,但是当我单击菜单项时,永远不会调用onMenuItemClick方法。

AddPhotoMenu addPhotoMenu = new AddPhotoMenu(this, mAddPhotosButton1);
addPhotoMenu.inflate(R.menu.popup_menu_fragevent_addphotos);
addPhotoMenu.show();

导致问题的原因是什么?

android popupmenu
1个回答
0
投票

尝试这样

@Override
public boolean onMenuItemClick(MenuItem item) {
     Log.d(TAG, "onMenuItemClick: Called");
     switch (item.getItemId()) {
         case R.id.popup_menu_fragevent_takephoto:
             //Inflate a layout
             Log.d(TAG, "onMenuItemClick: Take photo");

             return true; // return true instead of break
         case R.id.popup_menu_fragevent_selectphotos:
             //Inflate a layout

             Log.d(TAG, "onMenuItemClick: Select photo");
             return true; // return true instead of break

        }
return false;
}
© www.soinside.com 2019 - 2024. All rights reserved.