1

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

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

在此处输入图像描述

4

2 回答 2

3

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

于 2016-05-19T15:38:25.710 回答
0

您是否只是试图检测选项菜单本身何时可见?如果是这样,我相信 Activity 上的“onPrepareOptionsMenu”方法是您最好的选择。

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

默认实现根据活动的状态更新系统菜单项。派生类应始终调用基类实现。

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

于 2013-12-18T16:27:47.803 回答