上下文与getContext()的区别

Luk*_*kap 33 android this android-context

什么是this和之间的区别getContext(),当我说this我的意思是this在一个Activity.

ina*_*ruk 63

一般来说,有两种类型.扩展问鼎ContextWrapper类(Activity,Service,Application)和那些不扩展它(像View).

  1. 如果类扩展,ContextWrapper那么你可以使用thisas Context.这类通常没有getContext()方法.

  2. 那些没有扩展ContextWrapper但仍然保存和使用的类Context通常会暴露getContext()函数.而且你不能使用thisContext在这种情况下.

这两种情况是相互排斥的.至少我不记得扩展ContextWrapper和同时拥有的类getContext.

  • 实际上,重要的类型是`Context`,而不是`ContextWrapper`(它是`Context`的子类).因此,例如,`MockContext`也可以使用`this`,其中需要`Context`,即使`MockContext`没有扩展`ContextWrapper`. (7认同)

Ted*_*opp 16

getContext()未在活动中定义.它在View(或View子类)中用于获取对封闭上下文(Activity)的引用.


Jus*_*ler 5

没有区别.当您在Activity中时,getContext()将返回此值.这是因为Activity是一个上下文!