【发布时间】:2012-08-02 05:34:20
【问题描述】:
我创建了一个有菜单的基础活动,这个菜单将打开应用程序中的其他活动。
public class BaseActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//Intent i = new Intent("com.app.Activity1");
//startActivity(i);
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.icon: Intent i1 = new Intent("com.app.Activity1");
startActivity(i1);
break;
case R.id.text: Intent i2 = new Intent("com.app.Activity2");
startActivity(i2);
break;
case R.id.icontext: Intent i3 = new Intent("com.app.Activity3");
startActivity(i2);
break;
}
return true;
}
}
所有活动都扩展了这个基础活动,所以当你按下菜单按钮时,菜单会弹出,你可以选择一个活动。
但是,假设我使用菜单转到活动 A。一旦我进入活动 A,我可以再次使用菜单转到活动 A。我可以这样做 X 次,但现在后退按钮将返回 X 次相同的活动。
如何判断 Activity 是否已在运行,因此用户无法继续打开相同的 Activity?
或者更确切地说,你会建议我在活动 A 中禁用一次菜单项吗?
感谢您的意见。抱歉,这似乎是一个微不足道的问题。
【问题讨论】:
-
您选择的“最佳”答案会给您带来很多麻烦(恕我直言)。请参阅我对该答案的评论,并请查看我的答案。
标签: android android-intent android-activity