为什么第一次启动活动时会调用OnResume

时间:2013-07-05 20:17:40

标签: android android-lifecycle

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

4 个答案:

答案 0 :(得分:8)

  

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

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

  

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

将该“内容”的全部移至onResume()。这样,无论活动是首次进入屏幕还是返回到屏幕,工作都会完成。

您可能希望花一些时间来审核the activity lifecycle

答案 1 :(得分:0)

这就是android activity lifecycle works的方式。

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

即可

答案 2 :(得分:0)

这是由于Android活动生命周期的特性。有关详细信息,请阅读Pausing and Resuming an Activity

干杯!

答案 3 :(得分:0)

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