0

在我的应用程序中,无论何时调用 finish() 方法,无论它在哪里,我都不会被带到上一个活动,而是被引导到 mainActivity。

finish();

我的目标是,在他看到的当前活动之前向用户显示活动。

问题 1:我怎样才能让 finish() 总是带我去之前的活动?

问题 2:这是否可以使用 finish() 以外的其他解决方法?

问题3:如何检查活动堆栈并据此决定去哪一项?

4

2 回答 2

0

如果您在每个中间活动中都写了完成,这意味着您正在从堆栈中删除该活动,因此在完成一项活动时,您将被带到最后一个未完成的活动,因此只在您没有完成的活动中编写完成()希望看到,直到遵循相同的工作流程并调用其 onCreate()

于 2013-05-16T06:50:55.327 回答
0

如果您从 b 和 b 开始活动 c 如果您在活动 c 中使用手机上的后退按钮,它将转到 b 并且在 b 中按下后退按钮将显示 a。如果您在所有 3 个活动中使用完成,则会发生 a 调用 b 并且 a 已完成,b 调用 c 并且 b 已完成,因此当您在 c 中使用完成时,它不会显示 b。因此,您必须根据某些条件或单击按钮或在开始新活动之前告诉您将完成放置的位置,发布您的代码,我们将为您提供帮助。

于 2013-05-16T08:32:27.437 回答