Android 上下文与视图
有人能解释一下上下文和视图之间的区别吗?我们什么时候选择上下文或视图?在大多数程序中,我发现将上下文或视图传递给某些方法,将上下文或视图传递给方法的实际需要是什么?这是一个奇怪的问题。视图描述ui的一个元素。它可以有onClickListeners、属性等等。但每个视图都是在某个上下文中创建的,通常是活动的上下文 上下文本身类似于代码在其中执行的环境。它可以访问ui(如果它是一个活动),它可以包含一些全局数据(应用程序上下文),并且可以访问资源(所有上下文)。此外,上下文允许您执行常见的android操作,如广播意图、启动活动和服务 因此,当您想对特定视图执行某些操作时,应该传递视图。Android 上下文与视图,android,Android,有人能解释一下上下文和视图之间的区别吗?我们什么时候选择上下文或视图?在大多数程序中,我发现将上下文或视图传递给某些方法,将上下文或视图传递给方法的实际需要是什么?这是一个奇怪的问题。视图描述ui的一个元素。它可以有onClickListeners、属性等等。但每个视图都是在某个上下文中创建的,通常是活动的上下文 上下文本身类似于代码在其中执行的环境。它可以访问ui(如果它是一个活动),它可以包含一些全局数据(应用程序上下文),并且可以访问资源(所有上下文)。此外,上下文允许您执行常见的andr
当您需要访问资源、全局数据或ui上下文,或启动其他android组件时,会传递上下文。我们需要了解
视图
是如何构造的,什么是上下文
View
有三个构造函数,它们都使用Context
作为参数
在活动中,
如果视图
是以编程方式相对于XML进行膨胀的,视图
是通过使用LayoutInflater
来膨胀的视图
LayoutInflater
将Context
作为参数,并在内部将其保存在类级字段中
LayoutInfater layoutinflater = LayoutInflater.from(this);
其中“此
”是活动
实例
当充气机
充气视图时,即:
充气器。充气(R.id.some\u视图,父视图,空)
它在内部将保存的上下文
字段传递给视图的构造函数
视图
总是将上下文
作为参数,这一点很明显,因为视图存在于一些上下文
中,这就是活动
要回答您的问题,当需要将
上下文
传递给活动
中的方法时,您可以编写“此
”。如果方法不在活动中
,并且您需要传递上下文
,那么请记住,将上下文
作为参数的视图
会将对象引用保存在类级字段中。我们可以通过编写view.getContext()
来获取此对象引用 这是一个非常有趣的问题,因为在监听器内部,我们通常传递视图。但是函数有时需要上下文,初学者不知道如何获得上下文。