簡體   English   中英

Android onCreate onResume

[英]Android onCreate onResume

我有個問題。 當我第一次啟動我的 android 應用程序時,在主活動中調用了onCreateonResume 但我只想被稱為 onCreate。

我能做些什么?

根據 SDK 文檔,您看到的是預期行為。 查看 Activity- Activity Lifecycle文檔中的流程圖。

以編程方式,您可以通過保持一個實例成員來跟蹤之前是否調用過 onResume 來克服這個問題 - 第一次調用它時,設置變量並返回,例如

private boolean resumeHasRun = false;

@Override
protected void onResume() {
    super.onResume();
    if (!resumeHasRun) {
        resumeHasRun = true;
        return;
    }
    // Normal case behavior follows
}

正確的答案是使用ActivityonRestart()方法。 這可能是您一直在尋找的。

你不能做任何事情,因為這就是 Activity 生命周期的工作方式。

有關顯示生命周期的圖表,請參閱http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle

正如您在 API 中看到的那樣,活動生命周期總是在顯示活動之前調用 onResume。 http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

我想你可以為第一次訪問創建一個全局 boolean 並將其設置為 false。 然后覆蓋 onResume 並檢查變量。 如果為 false,則將其設置為 true 並返回,如果為 true,則調用 super.onResume。

應該可以,但我不知道它是否可以更簡單地處理,並且我無法訪問 sdk 來測試它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM