【问题标题】:OnCreate method keeps calling OnResume methodOnCreate 方法不断调用 OnResume 方法
【发布时间】:2019-05-06 05:58:25
【问题描述】:

所以我有这个应用程序,每次我启动主要活动时,都会调用 OnResume 方法。我在 OnCreateOnResume 方法中都放入了 Toast 消息,并且每次我启动 Activity Toasts 都显示。我在这里缺少什么吗?我逐行查看了代码,但没有发现任何可能导致此问题的原因。

【问题讨论】:

  • OnResume 将在应用启动时被调用。
  • 好吧,我不知道,谢谢...但问题是我想在 onResume 方法上调用 recreate(),而当我这样做时,应用程序只是在 onCreate 和 onResume 方法之间循环
  • 什么是重建功能?
  • @JohnJoe,它将重新创建活动,基本上再次调用oncreate。

标签: android android-activity oncreate onresume


【解决方案1】:

OnResume() 在活动的生命周期中每次都会被调用。 见下图。 如果应用程序要从后台或暂停状态启动,则仅在需要执行某些任务时才添加 onResume()。

【讨论】:

  • 好的,但我想在 onResume 方法上调用 recreate(),该方法将调用 onCreate 并再次调用 onResume,这将只是一个循环。任何替代解决方案?
  • 你想在重新创建中实现什么?加载 UI ,刷新数据或其他什么?
【解决方案2】:

您需要创建一些条件并仅在满足该条件时调用重新创建。如果满足您的条件,则分配一个布尔变量,如果此布尔值根据您的条件为真或假,则调用重新创建,否则您的循环将永远不会停止。

private boolean isCheck = false;
onCreate() {
    if(somecondition == true) {
        isCheck = true;
    }
}

onResume() {
    if(!isCheck){
        recreate();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    相关资源
    最近更新 更多