为什么我们需要将Context传递给View?

imr*_*zak 1 android android-context

每个Activity都是一个Context.每个View都需要一个Context.是否正确地说当我们将Context传递给View时,我们基本上是通过传递Context来向某个Activity添加一个View?

Ste*_*hen 6

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

它提供主题信息,以便视图可以使用给定主题正确绘制自己,但也提供了访问其他类型资源的方法.

它提供了对创建子视图可能需要的布局inflater的访问.

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

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

如果您已将该活动作为上下文传递给视图,则表示您正在向活动添加视图是不正确的.该活动只是提供视图所需的上下文.

这是一个更全面的答案,解释了上下文的目的

  • 我完全理解上下文提供了对许多资源的访问。但是,我记得当我开始学习 Java 并使用“jFrame”和“jPanel”等进行操作时,我不需要将上下文传递给“jButton”,我只是做了“jPanel.add(jButton)”。那么为什么我们在Android编程中传递`Context`呢?除了提供对系统资源的访问之外,“Context”还必须执行某些操作或与此不同。有什么帮助吗? (2认同)