Android-функция предотвращения onResume (), если Activity загружается в первый раз (без использования SharedPreferences)

в моем текущем приложении функция onResume запускается при первой загрузке действия . Я заглянул в Жизненный Цикл Активности, но я не нашел способа предотвратить это.

могу ли я запретить загрузку функции onResume() при первой загрузке действия без использования SharedPreferences?

1 ответов


во-первых, как говорит RvdK, вы не должны изменять жизненный цикл активности Android, вам, вероятно, придется перепроектировать свое поведение активности, чтобы быть совместимым с ним.

в любом случае, это самый лучший способ, который я вижу:

1.Создайте логическую переменную внутри действия

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

2.Установите его как false внутри вашего onCreate:

public void onCreate(){
  shouldExecuteOnResume = false
}

3.Затем в onResume:

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

}

таким образом onResume не будет выполнено первый раз (shouldExecuteOnResume является false) , но вместо этого он будет выполняться все остальные раз, когда загружается действие (потому что shouldExecuteOnResume будет правда). Если действие затем убито (пользователем или системой) в следующий раз, когда оно будет загружено onCreate метод будет вызван снова так onResume не будет выполняться, и т. д..