gpt4 book ai didi

java - 在android studio中单击actionbar菜单中的项目时跳转到另一个 Activity

转载 作者:行者123 更新时间:2023-11-29 04:51:36 24 4
gpt4 key购买 nike

这是在菜单中选择项目的代码,当用户点击注销时, Activity 跳转到login_activity,当用户点击帐户时, 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);
}
}

但是,在测试过程中,无论我点击什么, Activity 总是跳转到账户 Activity 。

如果我切换开关盒的顺序

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

无论我点击什么, Activity 总是跳转到 login_activity。有人知道为什么吗?

最佳答案

您需要在每种情况下添加 break;,如下所示。否则,您的代码将执行满足 switch 条件的 case 和它之后的每个 case,直到 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);
}
}

关于java - 在android studio中单击actionbar菜单中的项目时跳转到另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35236847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com