在我目前的应用程序,当我加载活动的第一次的onResume功能被触发。 我看着活动的生命周期 ,但我没有找到一个方法来防止这种情况发生。
我可以阻止加载的onResume()函数,当活动被载入首次,而无需使用SharedPreferences?
在我目前的应用程序,当我加载活动的第一次的onResume功能被触发。 我看着活动的生命周期 ,但我没有找到一个方法来防止这种情况发生。
我可以阻止加载的onResume()函数,当活动被载入首次,而无需使用SharedPreferences?
首先,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
将不会被执行,等等。