web-dev-qa-db-fra.com

Comment utiliser onResume ()?

Quelqu'un peut-il me donner un exemple qui utilise onResume() dans Android?

De plus, si je veux redémarrer l'activité à la fin de l'exécution d'une autre, quelle méthode est exécutée —onCreate() ou onResume()?

Et si je veux mettre à jour des données, comment puis-je les mettre dans onResume()?

68
Zizou

Toute activité qui redémarre a sa méthode onResume () exécutée en premier.

Pour utiliser cette méthode, procédez comme suit:

@Override
public void onResume(){
    super.onResume();
    // put your code here...

}
114
Mr.Sandy

Le redémarrage de l'application appellera OnCreate().

Poursuivre l'application lorsqu'elle est en pause appellera OnResume(). La documentation officielle à l’adresse https://developer.Android.com/reference/Android/app/Activity.html#ActivityLifecycle est un diagramme du cycle de vie de l’activité.

the Android activity lifecycle, from https://developer.Android.com/images/activity_lifecycle.png on https://developer.Android.com/reference/Android/app/Activity.html#ActivityLifecycle

61

La meilleure façon de comprendre consiste à remplacer toutes les méthodes LifeCycle dans votre activité et à placer un point d'arrêt (si vous enregistrez l'émulateur) ou un journal dans chacune d'entre elles. Vous saurez lequel est appelé quand.

Tout comme un spoiler, onCreate() est appelé en premier, puis si vous interrompez l'activité en accédant à l'écran d'accueil ou en lançant une autre activité, onPause() est appelé. Si le système d'exploitation détruit l'activité entre-temps, onDestroy() est appelé. Si vous reprenez l'application et que l'application est déjà détruite, onCreate() sera appelé, ou bien onResume() sera appelé.

Edit: J'avais oublié onStop(), il s'appelle avant onDestroy().

Faites l'exercice que j'ai mentionné et vous aurez une meilleure compréhension.

25
noob

La plupart des réponses précédentes expliquent comment, pourquoi et quand utiliser onResume(), mais j'aimerais ajouter quelque chose sur la recréation de votre Activity.

Je veux savoir si je veux redémarrer l'activité à la fin de l'exécution d'un autre quelle méthode est exécutée onCreate () ou onResume ()

La réponse est onCreate() Cependant, lorsque vous décidez de la recréer, vous devez vous demander quelle quantité de Activity besoin d'être recréée. Si ce sont des données dans un adaptateur, disons pour une liste, vous pouvez appeler notifyDataChanged() sur le adapter pour repeupler le adapter sans avoir à tout redessiner.

De plus, si vous avez juste besoin de mettre à jour certaines views mais pas toutes, il peut être plus efficace d'appeler invalidate() sur le view (s) à mettre à jour. Cela ne fera que redessiner ces views et éventuellement permettre à votre application de s'exécuter plus facilement. J'espère que ceci peut vous aider.

9
codeMagic

onResume() est l'une des méthodes appelées tout au long du cycle de vie de l'activité . onResume() est la contrepartie de onPause(), appelée à tout moment où une activité est masquée, par exemple. si vous démarrez une nouvelle activité qui la cache. onResume() est appelé lorsque l'activité qui était masquée revient à l'écran.

Votre question demande quelle méthode est utilisée pour relancer une activité. onCreate() est appelé lors de la création de l'activité. En pratique, la plupart des activités persistent en arrière-plan via une série d'appels onPause() et onResume(). Une activité est réellement "redémarrée" par onRestart() si elle est d'abord complètement arrêtée en appelant onStop() puis ramenée à la vie. Ainsi, si vous n'arrêtez pas réellement d'activités avec onStop(), il est fort probable que vous utilisiez onResume().

Lisez le Android doc dans le lien ci-dessus pour mieux comprendre la relation entre les différentes méthodes de vie. Quelle que soit la méthode de cycle de vie utilisée, le format général est le même. Vous devez remplacer la méthode standard et inclure votre code, c’est-à-dire ce que vous souhaitez que l’activité fasse à ce moment-là, dans la section commentée.

@Override
public void onResume(){
 //will be executed onResume
}
4
Rarw

Relisez la référence Android Activity Lifecycle. Il y a une belle image, et le tableau montrant quelles méthodes sont appelées. référence Lien google

https://developer.Android.com/reference/Android/app/Activity.html

2
donfede