我认为Android上下文可以作为单个对象工作,您可以通过不同的方式访问它。
但是,在我的项目中,我在MainActivity中的嵌套AsyncTask(onPostExecuteMethod)中使用简单的ArrayAdapter创建了一个简单的Spinner,我发现使用 getApplicationContext()它会有所不同和 MainActivity.this 。
你能解释一下吗?
答案 0 :(得分:3)
每个上下文都与应用程序上下文相关,每个活动都有自己的子上下文,它将与活动一起生存(并将随活动一起销毁)。
在您的示例中,根据您使用的上下文,您有不同的呈现,因为如果已为活动分配主题(以编程方式或在清单中),则活动将使用ContextThemeWrapper。
您的应用程序中可能有一个黑暗的主题,但活动的主题很轻。
答案 1 :(得分:2)
从Context
获得的getApplicationContext()
并未实现Activity
所做的一切,特别是与UI,主题相关的内容......
到目前为止我见过的最完整的解释:Context, What Context?
基本上:
Activity
。