0

我有一个活动,当它第一次加载时它会执行一些我在 OnResume 时也需要运行的东西 OnCreate,问题是它第一次进入活动时它会同时通过 OnCreate 和 OnResume,如果我导航到另一个活动,然后使用返回箭头返回活动,它只触发 OnResume,这很好,除非它在活动第一次运行时通过它,这导致它两次调用相同的东西。如果可能的话,我怎样才能避免第一次不调用 OnResume() 的活动?

4

4 回答 4

8

如果可能的话,我怎样才能避免第一次不调用 OnResume() 的活动?

这不可能。它是专门设计的,所以你不会做两次。

当它第一次加载时,它会在 OnCreate 执行一些我在 OnResume 时也需要运行的东西

所有这些“东西”移动到onResume(). 这样,无论活动是首先进入屏幕还是返回屏幕,工作都会完成。

您可能希望花一些时间查看活动生命周期

于 2013-07-05T20:19:58.550 回答
0

这就是 android活动生命周期的工作方式

避免此问题的一种方法是,只需将逻辑移至onResume()

于 2013-07-05T20:19:21.063 回答
0

这是由于 Android 活动生命周期的性质造成的。请阅读暂停和恢复活动以获取更多信息。

干杯!

于 2013-07-05T20:20:37.897 回答
0

如果您仍然想尝试其他解决方案,在调用时不运行您onResume第一次编写的代码onCreate。您可以添加boolean值并为其分配真值,onCreateonResume检查它是否为真,然后跳过代码,否则运行您在onRusume.

于 2019-02-04T08:03:07.247 回答