我对 Android 还很陌生,如果我的问题看起来很基本,我很抱歉。我昨晚整晚都在寻找它,但找不到解决方案(这让我觉得我想要实现的目标可能存在根本缺陷)。
基本上,我试图从 onOptionsItemSelected 内部调用一个方法。在 Android 开发者文档(http://developer.android.com/guide/topics/ui/menus.html)中,他们给出了这个例子:
@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);
}
}
但是,在我的应用程序中,我有需要输入的 onOptionsItemSelected 调用的方法。在我从 Android 开发者网站使用的示例的上下文中,这相当于我想要将整数“myint”传递给 newGame 方法:
@Override
public boolean onOptionsItemSelected(MenuItem item, int myint) {
// Handle item selection
switch (item.getItemId()) {
case R.id.new_game:
newGame(myint);
return true;
case R.id.help:
showHelp();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
当我这样做时,Eclipse 出现“public boolean onOptionsItemSelected(MenuItem item) {”行的错误,说我需要删除“@Override”命令。
我无法在互联网上找到任何人们以这种方式通过 onOptionsItemSelected(或 onConfigurationChanged 之类的方法)传递变量的示例,这就是为什么我认为我可能对它的工作原理存在根本性的误解。不幸的是,我不确定从哪里开始正确解决这个问题。目前我正在使用“公共静态”变量,所以我的方法(在这个例子中是 newGame)可以访问它们,但我意识到使用这些类型的变量似乎通常不受欢迎。
如果有人可以帮助我,甚至指出我需要搜索/阅读的方向,我将不胜感激。
谢谢
斯蒂芬