在android studio中单击操作栏菜单中的项目时跳转到另一个活动
Posted
技术标签:
【中文标题】在android studio中单击操作栏菜单中的项目时跳转到另一个活动【英文标题】:Jump to another activity when clicking a item in menu of actionbar in android studio 【发布时间】:2016-05-16 04:18:48 【问题描述】:这是菜单中选择项的代码,当用户点击注销时,activity跳转到login_activity,当用户点击account时,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。有人知道为什么吗?
【问题讨论】:
【参考方案1】:您需要在每种情况下添加break;
,如下所示。否则,您的代码将执行满足切换条件的 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);
【讨论】:
以上是关于在android studio中单击操作栏菜单中的项目时跳转到另一个活动的主要内容,如果未能解决你的问题,请参考以下文章
第二章:Android Studio概述[学习Android Studio汉化教程]