[英]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.