我在为Android设备开发方面有点新,所以如果我的问题很简单,我很抱歉,但我已经无法解决这个问题大约6个小时了。 我的常见菜单有问题。我能够正确显示菜单,并使一切正常。问题是我调用它的Activity在执行后会冻结。 我有:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case R.id.new_game:
return true;
default:
return super.onOptionsItemSelected(item);
}
我尝试删除您在此处看到的案例块中的所有逻辑,但效果与之前相同。按下属于“R.id.new_game”的菜单项后,活动冻结。 这不是冻结的完整应用程序,因为我能够再次打开菜单并选择我想要的选项。但是所有项目(如按钮..)都被禁用。
我还尝试重定向到另一个活动 - 它运行良好但是如果我在移动设备上使用后退按钮,活动就会冻结。
答案 0 :(得分:0)
尝试并且:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// super.onOptionsItemSelected(item); <- remove this line
switch (item.getItemId()) {
case R.id.new_game:
return true;
default:
return super.onOptionsItemSelected(item);
}
但是,猜测很疯狂,如果它不能解决问题,那就很抱歉。你的代码在一个新创建的应用程序中工作,但我从来没有见过在将它返回到默认分支之前调用super。