从菜单中选择选项后,活动冻结

时间:2013-12-16 23:01:09

标签: android menu

我在为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”的菜单项后,活动冻结。 这不是冻结的完整应用程序,因为我能够再次打开菜单并选择我想要的选项。但是所有项目(如按钮..)都被禁用。

我还尝试重定向到另一个活动 - 它运行良好但是如果我在移动设备上使用后退按钮,活动就会冻结。

1 个答案:

答案 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。