java - 弹出菜单没有膨胀

标签 java android menu layout-inflater android-inflate

如何使用 OnMenuItemClickListeners 创建自定义弹出菜单类?我似乎找不到任何使用单独类的 SO 答案。他们都在他们的 Activity 中这样做,但我想要一个单独的弹出菜单类。

我试过创建它:

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

    @Override
    public void inflate(int menuRes) {
        super.inflate(R.menu.popup_menu_fragevent_addphotos);
    }

    @Override
    public void setOnMenuItemClickListener(OnMenuItemClickListener listener) {
        new OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                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;
            }
        };
    }

但是当我调用它时,菜单并没有展开。

 AddPhotoMenu addPhotoMenu = new AddPhotoMenu(this, mAddPhotosButton1);
 addPhotoMenu.show();

最佳答案

addPhotoMenu.inflate(R.menu.popup_menu_fragevent_addphotos);
addPhotoMenu.setOnMenuItemClickListener(addPhotoMenu); 
// Need to add this line otherwise it won't work.
addPhotoMenu.show();

感谢:

PopupMenu onMenuItemClick not being called

关于java - 弹出菜单没有膨胀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59279130/

相关文章:

java - 如何在 android 的 ListView 中获取项目的 View ?

c++ - 你如何在 C++/directx 中设置菜单系统(可点击按钮)?

android - android中如何解析含有特殊字符的json对象

html - 下拉导航 - 两层菜单 (CSS/HTML)

android - 如何在android中使用按钮 TextView 等创建自定义下拉/弹出 View

java - 一个站点的 Java servlet 能否代替浏览器登录到另一个站点?

Java无法读取写入标准输出的有符号负字节

java - 如何在 Heroku 中将 JDK 1.8 更改为 JDK 11?

java - 如何在 Android 中使用来自 WebView 的身份验证信息发出 HTTP 请求?

java - 当我从不在 ExecutorService 上调用 shutdown 时会发生什么?