是否有任何选项可以检测溢出菜单中的点击?
我不想检测特定项目的点击。
As it was posted in this other question, you can do the following:
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
if(featureId == AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR){
Toast.makeText(this, "OPEN", Toast.LENGTH_SHORT).show();
}
return super.onMenuOpened(featureId, menu);
}
@Override
public void onPanelClosed(int featureId, Menu menu) {
if(featureId == AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR){
Toast.makeText(this, "CLOSE", Toast.LENGTH_SHORT).show();
}
super.onPanelClosed(featureId, menu);
}
If you are inheriting from AppCompat. If not, the right constant to be used is Window.FEATURE_ACTION_BAR
您是否只是试图检测选项菜单本身何时可见?如果是这样,我相信 Activity 上的“onPrepareOptionsMenu”方法是您最好的选择。
准备要显示的屏幕标准选项菜单。每次显示菜单时,都会在菜单显示之前调用它。您可以使用此方法有效地启用/禁用项目或以其他方式动态修改内容。
默认实现根据活动的状态更新系统菜单项。派生类应始终调用基类实现。