是否有任何选项可以检测溢出菜单中的点击?
我不想检测特定项目的点击。
答案 0 :(得分:3)
在this other question中发布时,您可以执行以下操作:
@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);
}
如果您继承自AppCompat。如果没有,则使用的正常常量为Window.FEATURE_ACTION_BAR
答案 1 :(得分:0)
您是否只是想检测选项菜单本身何时可见?如果是这样,我相信Activity上的“onPrepareOptionsMenu”方法是你最好的选择。
准备要显示的屏幕标准选项菜单。这是 每次显示菜单时,都会在菜单显示之前调用。您可以 使用此方法有效地启用/禁用项目或其他 动态修改内容。
默认实现基于的更新系统菜单项 活动的状态。派生课应该始终通过 基类实现。