I have a problem.
When I start for the first time my android application, in the main activity both the onCreate
and the onResume
are called. but I want to be called only the onCreate.
What can I do?
I have a problem.
When I start for the first time my android application, in the main activity both the onCreate
and the onResume
are called. but I want to be called only the onCreate.
What can I do?
According to the SDK docs what you are seeing is the intended behavior. Have a look at the flowchart in the docs for Activity - Activity Lifecycle.
Programmatically you can overcome this by keeping an instance member to track whether onResume has been called before - the first time it is called, set the variable and return e.g.
private boolean resumeHasRun = false;
@Override
protected void onResume() {
super.onResume();
if (!resumeHasRun) {
resumeHasRun = true;
return;
}
// Normal case behavior follows
}
onStopped()
), then @FenixVoltres is correct, in that, you should use onRestart()
. –
Marlite The correct answer is to use Activity
's onRestart()
method. This is probably what you have been looking for.
onRestart()
is called only if the activity has stopped. –
Supination onResume()
(which is called also when activity is created) to onRestart()
, which is not, what was the point. –
Leroylerwick onRestart()
is what you'd want here. –
Marlite You can't do anything, as this is how the Activity lifecycle works.
See http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle for a diagram that shows the lifecycle.
onRestart()
method. See @Fenix's answer. –
Marlite As you can see in the API the Activity Lifecycle always calls onResume before showing the activity. http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
I guess you could make a global boolean for a first access and set it to false. Then override the onResume and check the variable. If false, set it to true and return, if true, call super.onResume.
Should work, but I don't know if it can be handled simpler and I don't have access to the sdk here to test it.
© 2022 - 2024 — McMap. All rights reserved.