2012-04-10 120 views
0

我的应用程序有几个活动,可以将它们视为层次结构中的单独级别。您在活动A中选择一个对象,它将您引导至活动B,您可以在其中添加,修改和删除一些C级参数等。如果我已遍历A-> B-> C,则将我的更改保存在C中,我回到B级,然后按下后退按钮,这会让我回到活动C,因为那是最后一次看到的活动。现在,我知道你要说什么。使用android:noHistory =“true”。那么,我不能使用它,因为其中一些活动会启动对话框,当您关闭对话框时,android会将您带回到最后一个“常规”(即noHistory =“false”)活动。我已经尝试覆盖onBackPressed,这适用于应用程序退出。我也尝试过android:finishOnTaskLaunch =“true”,它不能像文档所说的那样工作。重新启动后,我的应用将从该设置开始。Android后退按钮应该起到向上按钮的作用

如果后退按钮始终充当向上按钮,我希望它。它不应该把你降到一个级别。只有起来。

我的目标是API级别8.似乎api 11有一些清除历史堆栈的选项。在API 8中我能做些什么来使其正常工作?

+0

我刚刚尝试了android:launchMode =“singleTask”,它能正常工作,但启动应用程序时会导致一个奇怪的延迟。我想这是可以接受的。 :\ – MrGibbage 2012-04-10 19:48:54

回答

3

如果我已遍历A-> B-> C,将我的更改保存在C中,这会将我自动带回到B级,然后按下后退按钮,这将使我回到活动C,因为是最后看到的活动。

有调用C finish()它“会自动把我带回到B级”后(比如通过一些呼叫startActivity())。然后,按B从BACK将用户返回到A.

如果后退按钮始终充当向上按钮,我希望它。它不应该把你降到一个级别。只有起来。

然后finish()当你完成它们时,如果用户没有通过按BACK退出它们,那么它们会自动执行。

+0

这个技巧。谢谢。 – MrGibbage 2012-04-10 20:54:01