在我当前的应用程序中,当我第一次加载 Activity 时会触发 onResume 函数。我查看了Activity Lifecycle,但没有找到防止这种情况发生的方法。
我可以在第一次加载 Activity 时阻止 onResume() 函数加载,而不使用 SharedPreferences?
在我当前的应用程序中,当我第一次加载 Activity 时会触发 onResume 函数。我查看了Activity Lifecycle,但没有找到防止这种情况发生的方法。
我可以在第一次加载 Activity 时阻止 onResume() 函数加载,而不使用 SharedPreferences?
首先,正如 RvdK 所说,您不应该修改 Android Activity 生命周期,您可能必须重新设计您的 Activity 行为以符合它。
无论如何,这是我看到的最好的方式:
1.在您的活动中创建一个布尔变量
public class MyActivity extends Activity{
boolean shouldExecuteOnResume;
// The rest of the code from here..
}
2.在您的 onCreate 中将其设置为 false:
public void onCreate(){
shouldExecuteOnResume = false
}
3.然后在你的onResume中:
public void onResume(){
if(shouldExecuteOnResume){
// Your onResume Code Here
} else{
shouldExecuteOnResume = true;
}
}
这样,您onResume
将不会第一次执行(shouldExecuteOnResume
为假),而是在加载活动的所有其他时间执行(因为shouldExecuteOnResume
将为真)。如果该活动在下次加载时被杀死(由用户或系统),则该onCreate
方法将再次被调用,因此onResume
不会被执行,等等。