首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语境与观点

语境与观点
EN

Stack Overflow用户
提问于 2011-05-03 09:29:51
回答 2查看 3.7K关注 0票数 9

有人能解释上下文和视图之间的区别吗?我们什么时候使用上下文或视图?在大多数程序中,我发现上下文或视图被传递给某些方法,传递上下文或视图给方法的实际需要是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-03 09:34:53

这是个奇怪的问题。视图描述ui的一个元素。它可以具有onClickListeners、属性等。但是每个视图都是在某种上下文中创建的,通常是活动的上下文。

上下文本身类似于代码在其中执行的环境。它可以访问ui(如果它是一个活动),它可以包含一些全局数据(应用程序上下文),并且可以访问资源(所有上下文)。此外,上下文允许您执行常见的android操作,如广播意图、启动活动和服务。

因此,当您想要使用特定的视图执行某些操作时,应该传递视图。当您需要访问资源、全局数据或ui上下文或启动其他android组件时,将传递上下文。

票数 16
EN

Stack Overflow用户

发布于 2020-06-13 17:29:20

我们需要了解View是如何构造的,什么是Context

View有三个构造函数,所有这些构造函数都使用Context作为参数。

Activity,中,如果view是以编程方式充气的,则view是通过使用LayoutInflater来充气的View

LayoutInflaterContext作为参数,并在内部将其保存在类级别字段中。

代码语言:javascript
复制
LayoutInfater layoutinflater = LayoutInflater.from(this);

其中"this“是Activity实例。

inflater膨胀视图时,即:

inflater.inflate(R.id.some_view, parent, null)

它在内部将保存的context字段传递给View的构造函数。

View总是将Context作为参数,这是显而易见的,因为视图存在于某些Context中,即Activity

要回答您的问题,当需要将context传递到Activity本身的方法时,您可以编写"this“。如果方法不在Activity中,并且需要传递Context,那么请记住,以Context作为参数的View将对象引用保存在类级别字段中。我们可以通过编写view.getContext()获得这个对象引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5867588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档