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

Hel*_*elp 7 android

我很新的Android开发,我试图创建一个视图,它可以很容易地完成alloc,然后initWithFrame ...在对象-与可可触摸,但是在Java中,它使用的new ..()方法,我只能坚持定义变量context,的参数LinearLayout().

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

LinearLayout layout = new LinearLayout(context);
Run Code Online (Sandbox Code Playgroud)

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

Luc*_*fer 5

简单的方法是

只需声明变量如下,

private Context context;
Run Code Online (Sandbox Code Playgroud)

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

public void onCreate(Bundle savedInstanceState) 
{
     super.onCreate(savedInstanceState);
     context = this;
     ...
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下其他方式分配,

context = getApplicationContext();
Run Code Online (Sandbox Code Playgroud)

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