上下文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是一个上下文!