您好我正试图理解上下文的使用,虽然我不能。以下是使用上下文的程序。我的问题是“context = class.this”的意义是什么?
class public VcardActivity extends Activity
{
String Vcard = "vcard";
Context context;
}
public void onCreate ( Bundle bn )
{
super.onCreate(bn);
setContentView(R.layout.main);
context = VcardActivity.this;
}
答案 0 :(得分:0)
在您的情况下,根本不需要字段context
。它更像是VcardActivity.this
的快捷方式。您可以毫无问题地删除它,并使用VcardActivity.this
甚至只使用this
context
。{/ p>
答案 1 :(得分:0)
您当前的代码未显示上下文的使用。它表明Activity是一个上下文。
TextView someText=new TextView(context);
我的这段代码显示,我正在将一个上下文传递给TextView的构造函数,以便创建这个对象。原因是,这个对象需要知道当前上下文的信息,状态,这就是许多视图,类,助手需要上下文的原因。
context = VcardActivity.this;
在您的代码中,您将活动对象分配给Context上下文。这是有效的,因为Activity类继承自Context,许多类需要Context来创建它。
答案 2 :(得分:0)
您无需在Context
内创建单独的Activity
变量。对于需要知道启动它们的某些对象/方法,您使用Context
。 Activity
已经有Context
,因此您无需创建它。如果您需要在Context
中使用Activity
,请在创建Intent
时说明,您可以使用ActivityName.this
或VcardActivity
See this SO answer有关使用哪种Context
时的良好解释。