Dans mon application, j'ai reçu un objet non-activité dont le rôle est d'être une classe de gestionnaire. plusieurs fois j'ai besoin de passer "l'activité de source" aux méthodes en tant que paramètre à cette classe de gestionnaire afin de faire quelques opérations sur cette activité. Par exemple, supposons que nous ayons MyActivity qui doit faire du pain grillé. donc je cette classe gestionnaire appelé MyManager, et j'ai cette méthode en ellePassage d'une activité à un objet non-activité correctement
raiseToast(Activity sourceActivity) {
Toast.makeText(sourceActivity, demo, Toast.LENGTH_LONG).show();
}
et de classe MyActivity nous appelle cette méthode de cette façon:
MyManager manager=new MyManager();
manager.raiseToast(MyActivity.this);
il fonctionne très bien.
ce que je demande ici, est-ce une façon correcte de passer une activité en tant que paramètre à un objet de non-activité? J'ai une fuite de mémoire sur le vrai périphérique (pas l'émulateur), je me demande si cela pourrait également causer une raison pour cela?
Merci Idan.
Oui ofcourse dans ce cas, il à peu près idiot, je jus a donné un exemple quand je dois passer l'activité en cours à un objet non-activité, dans ce cas, il est vraiment inutile, mais dans d'autres cas, vous pourriez avoir juste besoin de séparer la logique interne du gui (MVC) alors comment le feriez-vous exactement de cette façon de getApplicationContext()? Merci – rayman
Comment dois-je envoyer le paramètre de l'activité d'appel, et comment dois-je définir le paramètre dans la classe de gestionnaire? Merci. – rayman
getApplicationContext() est la méthode de contexte. Vous pouvez donc remplacer manager.raitetoast (MyActivity.this); avec manager.raitetoast (getApplicationContext()); –