web-dev-qa-db-fra.com

Quelle est la différence entre cela, getContext () et getActivity ()?

Je suis très confus avec l'utilisation de tous ceux-ci, où devrions-nous les utiliser.

31
Mr Singh

this - return self reference
getContext () - return Context
getActivity () - return Activity

Le contexte.

Citation de réponse originale :

Comme son nom l'indique, son contexte de l'état actuel de l'application/objet. Il permet aux objets nouvellement créés de comprendre ce qui s'est passé. Vous l'appelez généralement pour obtenir des informations sur une autre partie de votre programme (activité, package/application)

Activité

L'activité est un Java qui prend en charge un écran ou une interface utilisateur. En d'autres termes, le bloc de construction de l'interface utilisateur est l'activité. La classe d'activité est une classe prédéfinie dans Android et chaque application qui a une interface utilisateur doit en hériter pour créer une fenêtre. L'activité représente la couche de présentation d'une application Android, par exemple un écran que l'utilisateur voit. Un Android peut avoir plusieurs activités et elle peut être commutée entre elles pendant l'exécution de l'application.

Remarque: l'activité étend le contexte. Le contexte n'est pas une activité.

43
Sergey Shustikov

L'activité est une sous-classe de contexte, donc chaque fois qu'un contexte est requis, l'un ou l'autre peut être donné.

getActivity() est au moins une méthode sur Fragment, pour obtenir l'activité à laquelle elle est attachée.

Chaque fois qu'un contexte est nécessaire dans une méthode d'instance d'une activité, vous pouvez utiliser this.

Un contexte est nécessaire chaque fois que des informations contextuelles sont nécessaires, ou lorsque des éléments doivent être affichés.

9
wvdz