我收到了我写过的代码的错误消息。一切都应该没问题,因为这些示例使用相同的代码,但不知怎的,我得到了一个错误。错误消息显示:
令牌上的语法错误")",;预期 - 参数onOptionsItemSelected的非法修饰符;只有决赛是允许的 - 令牌上的语法错误"(" ,;预期
public boolean onCreateOptionsMenu(android.view.Menu menu)
{
super.onCreateOptionsMenu(menu);
MenuInflater awesome=getMenuInflater();
awesome.inflate(R.menu.main_menu, menu);
return true;
public boolean onOptionsItemSelected (MenuItem item){
switch(item.getItemId()){
case R.id.menuSweet:
startActivity(new Intent("com.example.startandroidkj.SWEET"));
return true;
case R.id.menuToast:
Toast andEggs =Toast.makeText(menu.this,"this is a toast", Toast.LENGTH_LONG);
andEggs.show();
return true;
}
return false;
}
答案 0 :(得分:0)
您不能在Java中使用嵌套方法。基本上,编译器认为您正在定义局部变量并抱怨其修饰符。
您需要做的就是在第四行代码之后添加缺少的onCreateOptionsMenu()右括号。
public boolean onCreateOptionsMenu(android.view.Menu menu)
{
super.onCreateOptionsMenu(menu);
MenuInflater awesome=getMenuInflater();
awesome.inflate(R.menu.main_menu, menu);
return true;
} // <----------------------- Missing closing brace
public boolean onOptionsItemSelected (MenuItem item){
switch(item.getItemId()){
case R.id.menuSweet:
startActivity(new Intent("com.example.startandroidkj.SWEET"));
return true;
case R.id.menuToast:
Toast andEggs =Toast.makeText(menu.this,"this is a toast", Toast.LENGTH_LONG);
andEggs.show();
return true;
}
return false;
}
如果您正确格式化代码,这将有很大帮助。你的缩进搞砸了,这使得找到这样的错误变得更加困难。