为什么我们需要将上下文传递给视图?

Why we need to pass Context to a View?

每个 Activity 都是一个上下文。 每个视图都需要一个上下文。 这么说对不对,我们把Context传给View的时候,基本上就是通过传Context给某个Activity增加一个View?

上下文是必需的,因为它提供对许多 android 系统资源的访问。

它提供主题信息,以便视图可以根据给定的主题正确地绘制自己,但也提供了一种访问其他类型资源的方法。

它提供对创建子视图可能需要的布局充气器的访问。

您可以使用上下文访问字符串资源(和其他资源)。您可能需要字符串来为您的视图添加适当的文本标签。

如果您需要访问共享首选项,可以通过上下文访问。

如果您已将 activity 作为上下文传递给视图,则说您正在向 activity 添加视图是不正确的。 activity 只是提供视图所需的上下文。

这里是 a more thorough 解释上下文目的的答案