Java 在android studio中单击actionbar菜单中的项目时跳转到另一个活动

Java 在android studio中单击actionbar菜单中的项目时跳转到另一个活动,java,android,android-activity,android-actionbar,Java,Android,Android Activity,Android Actionbar,这是菜单中选择项的代码,当用户单击“注销”时,活动跳到“登录”\u活动,当用户单击“帐户”时,活动跳到“帐户”\u活动 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.logout_id: Intent login = new Intent(MainpanelActivity.this, Logi

这是菜单中选择项的代码,当用户单击“注销”时,活动跳到“登录”\u活动,当用户单击“帐户”时,活动跳到“帐户”\u活动

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.logout_id:
            Intent login = new Intent(MainpanelActivity.this, LoginActivity.class);
            login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(login);
        case R.id.account_id:
            Intent account =new Intent(MainpanelActivity.this,AccountActivity.class);
            startActivity(account);
            default:
                return super.onOptionsItemSelected(item);
    }
}
但是,在测试过程中,无论单击什么,活动都会跳转到account活动

如果我切换开关箱的顺序

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.account_id:
            Intent account =new Intent(MainpanelActivity.this,AccountActivity.class);
            startActivity(account);
        case R.id.logout_id:
            Intent login = new Intent(MainpanelActivity.this, LoginActivity.class);
            login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(login);

            default:
                return super.onOptionsItemSelected(item);
    }
}

无论我单击什么,活动都会跳转到登录活动。有人知道为什么吗?

您需要添加
break到,如下所示。否则,您的代码将执行满足切换条件的情况,并在其之后执行每个情况,直到
中断或到达
开关的末端

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.account_id:
            Intent account =new Intent(MainpanelActivity.this,AccountActivity.class);
            startActivity(account);
            break;
        case R.id.logout_id:
            Intent login = new Intent(MainpanelActivity.this, LoginActivity.class);
            login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(login);
            break;
        default:
            return super.onOptionsItemSelected(item);
    }
}