【发布时间】:2014-08-25 16:55:45
【问题描述】:
我使用以下代码调出 SignInActivity,同时清除所有其他代码:
Intent intent = new Intent(activity, SignInActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(intent);
我的应用有多个选项卡,SignInActivity 是选项卡活动之一:
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
tabHost.setup(getLocalActivityManager());
tabHost.addTab(tabHost.newTabSpec("home").setIndicator(createTabView(this, "Home", R.drawable.home)).setContent(new Intent(MainActivity.this, HomeActivity.class)));
tabHost.addTab(tabHost.newTabSpec("lists").setIndicator(createTabView(this, "My List", R.drawable.shopping_list)).setContent(new Intent(MainActivity.this, ShoppingListActivity.class)));
tabHost.addTab(tabHost.newTabSpec("stores").setIndicator(createTabView(this, "Stores", R.drawable.store_finder)).setContent(new Intent(MainActivity.this, StoreActivity.class)));
tabHost.addTab(tabHost.newTabSpec("my_card").setIndicator(createTabView(this, "My card", R.drawable.more_card)).setContent(new Intent(MainActivity.this, SignInActivity.class)));
tabHost.addTab(tabHost.newTabSpec("more").setIndicator(createTabView(this, "More", R.drawable.more)).setContent(new Intent(MainActivity.this, MoreActivity.class)));
在执行时,有一个 TransactionActivity 正在运行,代码(上面显示的第一块代码)是从事务活动中调用的。我希望清除事务活动,并将原始的 SignInActivity 置于顶部。但我实际观察到的是,一个新的 SignInActivity 被启动了,而不是仅仅把原来的放在上面;当我点击后退按钮时,交易活动出现了,这表明它没有被清除;当我再次点击返回时,会显示原来的 SignInActivity。
【问题讨论】:
标签: android android-intent android-activity tabs start-activity