【发布时间】:2019-12-11 08:40:16
【问题描述】:
我有一个类 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();
导致问题的原因是什么?
编辑:__________________________________________________
菜单的XML
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/popup_menu_fragevent_takephoto"
android:title="Take a photo"/>
<item
android:id="@+id/popup_menu_fragevent_selectphotos"
android:title="Select photos"/>
</menu>
【问题讨论】:
-
你得到一个错误?什么错误?
-
我的错不是错误。一个问题*。我不知道为什么没有调用 onMenuItemClick
-
您也可以发布您的菜单代码吗? XML 那个?