1

我遇到了需要为项目的 subMenu 实现 onOptionsItemSelected 侦听器的情况。菜单 xml 文件如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:title="@string/action_settings">

         <menu>

            <item android:id="@+id/create_new"
                  android:title="Create New" />
            <item android:id="@+id/open"
                  android:title="Open" />
        </menu>
    </item>


    <item android:id="@+id/new_game"
          android:title="New Game"
          android:showAsAction="always"/>


    <item android:id="@+id/help"
          android:title="Help" 
          android:showAsAction="always"/>


</menu>

因为我能够为项目实现选项侦听器,所以我想知道如何为具有子菜单项的action_settings实现动作侦听器。请帮我解决这个问题,我已经看过了,但我找不到确切的解决方案。

4

2 回答 2

2

在我的情况下,当我为每个选定的项目实现一个开关时工作。没有必要实现监听器方法。

    @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case 1:

                break;

            case 2:

                break;

            case 3:

                break;  

            default:
                break;
            }       

        return true;
    }
于 2014-01-10T20:46:04.553 回答
0

您可以覆盖 onClick 并执行以下操作:

 @Override
    public void onClick(View v) {
        switch(v.getId()){

        case R.id.action_settings:
            ....
            break;
          }
   }
于 2013-08-12T08:08:06.833 回答