我对Android开发非常陌生,我正在尝试创建一个视图,可以通过alloc
然后使用Cocoa Touch在Obj-C中initWithFrame ...
轻松完成,但在Java中它使用new ..()
方法,我坚持定义变量context
,LinearLayout()
的参数。
我看到有些人使用this
作为参数,即new LinearLayout(this)
,但我不明白这个论点实际上是做什么的,如果有人可以给我一些指导,我会很感激作为论点。
LinearLayout layout = new LinearLayout(context);
context
应该是什么?我该如何定义它?它有什么作用?我应该将它分配给什么价值?
答案 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;