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