我有一个活动,当它第一次加载时它会执行一些我在 OnResume 时也需要运行的东西 OnCreate,问题是它第一次进入活动时它会同时通过 OnCreate 和 OnResume,如果我导航到另一个活动,然后使用返回箭头返回活动,它只触发 OnResume,这很好,除非它在活动第一次运行时通过它,这导致它两次调用相同的东西。如果可能的话,我怎样才能避免第一次不调用 OnResume() 的活动?
问问题
3441 次
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
值并为其分配真值,onCreate
并onResume
检查它是否为真,然后跳过代码,否则运行您在onRusume
.
于 2019-02-04T08:03:07.247 回答