是否有不同的 Android 上下文?
Are there different Android contexts?
我认为 Android 上下文作为一个单独的对象工作,您可以通过不同的方式访问它。
- 活动:点赞"this"
- 方法:getContext() 或 getApplicationContext()
- 还有更多...
但是,在我的项目中,我在 MainActivity 的嵌套 AsyncTask (onPostExecuteMethod) 中使用简单的 ArrayAdapter 创建了一个简单的微调器,我发现它使用 getApplicationContext() 和 MainActivity.this.
- 白色文本 -> getApplicationContext()
- 文本变暗 -> MainActivity.this
你能解释一下吗?
每个上下文都与应用程序上下文相关,每个 activity 都有自己的子上下文,这些子上下文将与 activity 一起存在(并会随着 activity 一起被销毁)。
在您的示例中,根据您使用的上下文,您有不同的呈现,因为如果为活动分配了主题(以编程方式或在清单中),则活动使用 ContextThemeWrapper。
您的应用程序中可能有一个深色主题,但 activity 有一个浅色主题。
从 getApplicationContext()
获得的 Context
并没有实现 Activity
所做的一切,特别是与 UI、主题、...
相关的东西
迄今为止我看到的最完整的解释:上下文,
什么上下文?
基本上:
- 对与 UI 相关的所有内容使用 Activity。
- 将应用程序上下文用于任何比
Activity
寿命更长的东西。
我认为 Android 上下文作为一个单独的对象工作,您可以通过不同的方式访问它。
- 活动:点赞"this"
- 方法:getContext() 或 getApplicationContext()
- 还有更多...
但是,在我的项目中,我在 MainActivity 的嵌套 AsyncTask (onPostExecuteMethod) 中使用简单的 ArrayAdapter 创建了一个简单的微调器,我发现它使用 getApplicationContext() 和 MainActivity.this.
- 白色文本 -> getApplicationContext()
- 文本变暗 -> MainActivity.this
你能解释一下吗?
每个上下文都与应用程序上下文相关,每个 activity 都有自己的子上下文,这些子上下文将与 activity 一起存在(并会随着 activity 一起被销毁)。
在您的示例中,根据您使用的上下文,您有不同的呈现,因为如果为活动分配了主题(以编程方式或在清单中),则活动使用 ContextThemeWrapper。
您的应用程序中可能有一个深色主题,但 activity 有一个浅色主题。
从 getApplicationContext()
获得的 Context
并没有实现 Activity
所做的一切,特别是与 UI、主题、...
迄今为止我看到的最完整的解释:上下文, 什么上下文?
基本上:
- 对与 UI 相关的所有内容使用 Activity。
- 将应用程序上下文用于任何比
Activity
寿命更长的东西。