Quelle est la différence entre this
et getContext()
, quand je dis this
je veux dire this
dans un Activity
.
En général, il existe deux types de classes. Ceux qui étendent ContextWrapper
classe (Activity
, Service
, Application
) et ceux qui ne l'étendent pas (comme View
).
Si la classe étend ContextWrapper
, vous pouvez utiliser this
comme Context
. Ces classes n'ont normalement pas de méthode getContext()
.
Les classes qui n’étendent pas ContextWrapper
mais enregistrent et utilisent toujours Context
exposent normalement la fonction getContext()
. Et vous ne pouvez pas utiliser this
comme Context
dans de tels cas.
Et ces deux cas s'excluent mutuellement. Au moins, je ne me souviens pas des classes qui étendent ContextWrapper
et ont getContext
en même temps.
getContext()
n'est pas défini dans une activité. Il est utilisé dans une sous-classe View
(ou View
) pour obtenir une référence au contexte englobant (une activité).
Il n'y a pas de différence. Lorsque vous êtes dans une activité, getContext () le renvoie. C'est parce qu'une activité est un contexte!