上下文this和getContext()
this
和getContext()
之间有什么区别,当我说this
我的意思是在一个Activity
。
一般来说有两种types。 扩展ContextWrapper
类( Activity
, Service
, Application
)的那些类以及不扩展它的类(比如View
)。
-
如果类扩展了
ContextWrapper
那么你可以使用this
作为Context
。 这样的类通常没有getContext()
方法。 -
那些不扩展
ContextWrapper
但仍保存并使用Context
通常会公开getContext()
函数。 在这种情况下,您不能将this
用作Context
。
而这两种情况是相互排斥的。 至less我不记得扩展ContextWrapper
类, ContextWrapper
同时拥有getContext
。
getContext()
没有在Activity中定义。 它用在View
(或View
子类)中以获取对封闭上下文(一个Activity)的引用。
没有区别。 当你在一个Activity中,getContext()会返回这个。 这是因为一个Activity是一个上下文!