检测Android中的溢出菜单中的点击?

时间:2013-12-18 16:10:22

标签: android android-actionbar overflow-menu

是否有任何选项可以检测溢出菜单中的点击?

我不想检测特定项目的点击。

enter image description here

2 个答案:

答案 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”方法是你最好的选择。

  

准备要显示的屏幕标准选项菜单。这是   每次显示菜单时,都会在菜单显示之前调用。您可以   使用此方法有效地启用/禁用项目或其他   动态修改内容。

     

默认实现基于的更新系统菜单项   活动的状态。派生课应该始终通过   基类实现。

http://developer.android.com/reference/android/app/Activity.html#onPrepareOptionsMenu(android.view.Menu)