【发布时间】:2011-07-07 10:17:43
【问题描述】:
假设我的应用程序中有 3 个活动:A、B 和 C。应用程序的流程是:A -> B -> C。
一旦在 C,按下后退按钮会将用户带到 B。如果用户再次按下后退按钮,他们会到达 A,最后如果他们再按下一次,他们就会退出应用程序。
目标:当用户按下C上的返回键时,应该去A而不是 B,再按一次就退出应用。
问题:当覆盖 Activity C 上的后退按钮以启动 Activity A 时,一切似乎都正常。但是,如果用户再次按下后退按钮,他们会返回到 Activity C。因此按下后退按钮只会在 Activity A 和 Activity C 之间切换。
我猜 Activity 堆栈看起来像:
- 打开应用:A
- 转到 B:A、B
- 转到 C:A、B、C
- 按回:A、B、C、A
- 按回:A、B、C
- 按回:A、B、C、A
- 按回:A、B、C
- 按回:A、B、C、A
- 按回:A、B、C
- 按回:A、B、C、A
- ...等
所以看起来错误是在按下 C 上的后退按钮时启动一个新的 Activity?无论如何,我可以就如何实现这种行为提出建议。
谢谢, 杰克
【问题讨论】: