【发布时间】:2014-02-03 11:31:34
【问题描述】:
我正在练习添加菜单项并尝试对菜单项点击做出反应。根据开发者的guide,上面写着:
提示:Android 3.0 增加了使用 android:onClick 属性为 XML 中的菜单项定义点击行为的功能。该属性的值必须是活动使用菜单定义的方法的名称。该方法必须是公共的并接受单个 MenuItem 参数——当系统调用此方法时,它会传递所选的菜单项。有关详细信息和示例,请参阅菜单资源文档。
但是,同一页面中的示例代码不遵循规则:方法不传递 MenuItem 参数。示例代码为:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.new_game:
newGame();
return true;
case R.id.help:
showHelp();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我的问题是:方法调用不应该是 newGame(MenuItem item) 和 showHelp(MenuItem item),而不是 newGame() 和 showHelp()?当我自己测试时,实际上需要 (MenuItem item) 参数,否则即使编译正确,应用也会崩溃。
任何帮助将不胜感激。
【问题讨论】:
标签: android android-menu