0

我的应用程序有几个活动,可以被认为是层次结构中的单独级别。您在活动 A 中选择一个对象,这会将您带到活动 B,您可以在其中添加、修改和删除一些 C 级参数等。如果我遍历了 A->B->C,则将我的更改保存在 C 中,这会自动获取我回到 B 级,然后按下后退按钮,它会带我回到活动 C,因为那是看到的最后一个活动。现在,我知道你要说什么了。使用 android:noHistory="true"。好吧,我不能使用它,因为其中一些活动会启动对话框,当您关闭对话框时,android 会将您带回最后一个“常规”(即 noHistory="false")活动。我已经尝试覆盖 onBackPressed,它在应用程序退出之前一直有效。我也试过 android:finishOnTaskLaunch="

如果后退按钮始终充当向上按钮,我会喜欢它。它永远不应该让你下降一个层次。只能上。

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

4

1 回答 1

3

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

finish()在它“自动带我回到 B 级”之后让C 调用(大概是通过调用startActivity())。然后,从 B 按下 BACK 将使用户返回到 A。

如果后退按钮始终充当向上按钮,我会喜欢它。它永远不应该让你下降一个层次。只能上。

然后finish(),当您完成所有“向下”活动时,如果用户没有通过按 BACK 退出它们自己执行此操作。

于 2012-04-10T19:51:20.010 回答