在我當前的應用程序中,當我第一次加載Activity時觸發onResume函數。我查看了Activity Lifecycle,但我沒有找到防止這種情況發生的方法。Android - 預防onResume()函數,如果第一次加載Activity(不使用SharedPreferences)
第一次加載Activity時是否可以防止加載onResume()函數,而不使用SharedPreferences?
在我當前的應用程序中,當我第一次加載Activity時觸發onResume函數。我查看了Activity Lifecycle,但我沒有找到防止這種情況發生的方法。Android - 預防onResume()函數,如果第一次加載Activity(不使用SharedPreferences)
第一次加載Activity時是否可以防止加載onResume()函數,而不使用SharedPreferences?
首先,正如RvdK所說,您不應該修改Android Activity生命週期,您可能必須重新設計您的活動行爲以符合它。
無論如何,這是我看到的最好辦法:
1.創建一個布爾變量的活動
public class MyActivity extends Activity{
boolean shouldExecuteOnResume;
// The rest of the code from here..
}
2.設置它的裏面的onCreate假內:
public void onCreate(){
shouldExecuteOnResume = false
}
3.然後在你的onResume:
public void onResume(){
if(shouldExecuteOnResume){
// Your onResume Code Here
} else{
shouldExecuteOnResume = true;
}
}
通過這種方式,您的onResume
將不會在第一次執行(shouldExecuteOnResume
爲false),但它會在活動加載的其他所有時間執行(因爲shouldExecuteOnResume
將爲true)。 如果活動隨後被下一次加載(由用戶或系統),將再次調用onCreate
方法,因此onResume
將不會執行,等等。
爲什麼你不想要做它?打破Android一致生命週期的重要性如何?你不能在onCreate上做嗎? – RvdK
[Android onCreate onResume]的可能重複(http://stackoverflow.com/questions/6175679/android-oncreate-onresume) –
[Android onCreate onResume]的可能重複(http://stackoverflow.com/questions/6175679/ android-oncreate-onresume) –