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
не будет выполняться, и т. д..