我遇到过需要为项目的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 实现动作监听器。 请帮助我解决这个问题,但我无法找到确切的解决方案。
答案 0 :(得分:2)
在我的情况下,当我为所选的每个项目实现一个开关时工作。没有必要实现一个监听器方法。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
return true;
}
答案 1 :(得分:0)
您可以覆盖onClick并执行此操作:
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.action_settings:
....
break;
}
}