繁体   English   中英

单击android studio中操作栏菜单中的项目时跳转到另一个活动

[英]Jump to another activity when clicking a item in menu of actionbar in android studio

这是菜单中选择项的代码,当用户单击注销时,活动跳转到login_activity,当用户点击帐户时,活动跳转到account_activity。

@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);
    }
}

但是,在测试期间,无论我点击什么,活动总是跳转到帐户活动。

如果我切换开关盒的顺序

@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);
    }
}

无论我点击什么,活动总是跳转到login_activity。 谁知道为什么?

你需要添加break; 在每种情况下如下。 否则,您的代码将执行满足切换条件的情况,并在每个情况下执行直到break; 或者到达switch的末端。

@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);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM