上下文参数在Android中的作用是什么?它应该定义为什么?

时间:2013-05-07 07:35:14

标签: android

我对Android开发非常陌生,我正在尝试创建一个视图,可以通过alloc然后使用Cocoa Touch在Obj-C中initWithFrame ...轻松完成,但在Java中它使用new ..()方法,我坚持定义变量contextLinearLayout()的参数。

我看到有些人使用this作为参数,即new LinearLayout(this),但我不明白这个论点实际上是做什么的,如果有人可以给我一些指导,我会很感激作为论点。

LinearLayout layout = new LinearLayout(context);

context应该是什么?我该如何定义它?它有什么作用?我应该将它分配给什么价值?

2 个答案:

答案 0 :(得分:5)

简单的方法是

只需声明变量如下,

private Context context;

和onCreate()方法,将其值赋值如下,

public void onCreate(Bundle savedInstanceState) 
{
     super.onCreate(savedInstanceState);
     context = this;
     ...
}

您还可以按照以下其他方式分配

context = getApplicationContext();

您可以通过调用getApplicationContext(),getContext(),getBaseContext()或this(在活动类中时)来获取上下文。

答案 1 :(得分:0)

Context是一个抽象类,其实现由Android系统提供。它有助于使用应用程序资源,启动活动,广播等等。

它告诉编译器您要显示的当前所属的上下文活动或应用程序。大多数情况下,我们在初始化视图时提供活动的上下文。

LinearLayout layout = new LinearLayout(ActivityName.this);

或者您可以像这样

初始化活动开始时的变量
private Context context;

//in activity class 
context=ActivityName.this;