的Android - 防止的onResume如果活动被装载在第一次(不使用SharedPrefer

2019-08-18 05:26发布

在我目前的应用程序,当我加载活动的第一次的onResume功能被触发。 我看着活动的生命周期 ,但我没有找到一个方法来防止这种情况发生。

我可以阻止加载的onResume()函数,当活动被载入首次,而无需使用SharedPreferences?

Answer 1:

首先,RvdK说,你不应该修改的Android活动的生命周期,你可能要重新设计,以使其符合它的活动行为。

无论如何,这是我看到的最好的方法:

1.创建你的活动中一个布尔变量

public class MyActivity extends Activity{
  boolean shouldExecuteOnResume;
  // The rest of the code from here..
}

2.设置它的里面的onCreate为假:

public void onCreate(){
  shouldExecuteOnResume = false
}

3.Then在你的onResume:

public void onResume(){
  if(shouldExecuteOnResume){
    // Your onResume Code Here
  } else{
     shouldExecuteOnResume = true;
  }

}

这样,您onResume将不会执行第一次( shouldExecuteOnResume是假的),但它会被执行,而不是所有的其他时间,该活动被加载(因为shouldExecuteOnResume将是真实的)。 如果活动然后杀害(由用户或系统),它将被装入在下一次onCreate这样的方法会被再次调用onResume将不会被执行,等等。



文章来源: Android - Prevent onResume() function if Activity is loaded for the first time (without using SharedPreferences)