this
和getContext()
之间有什么区别,当我在this
中说this
时,我的意思是Activity
。
答案 0 :(得分:63)
一般来说,有两种类型。扩展ContextWrapper
类(Activity
,Service
,Application
)和不延伸它的那些(如View
)。
如果课程延伸ContextWrapper
,那么您可以将this
用作Context
。这类通常没有getContext()
方法。
那些不扩展ContextWrapper
但仍然保存并使用Context
的类通常会公开getContext()
函数。在这种情况下,您无法将this
用作Context
。
这两种情况是相互排斥的。至少我不记得同时扩展ContextWrapper
和getContext
的类。
答案 1 :(得分:16)
getContext()
未在活动中定义。它在View
(或View
子类)中用于获取对封闭上下文(活动)的引用。
答案 2 :(得分:5)
没有区别。当您在Activity中时,getContext()将返回此值。这是因为Activity是一个上下文!