如何在没有startActivity(intent)的情况下调用android Activity?

时间:2012-05-16 20:29:13

标签: android

在我的Android应用程序的主页面中,我添加了OptionsMenu。 我想要的是当选择“ContactUs”选项时,应该调用一个名为“ContactUs”的新活动。

public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
if (item.getTitle().toString().equals("ContactUs")) {
    ContactUs contact = new ContactUs(Home.this);
}
return true;
}

当打开ContactUs活动时,应显示其布局:

public class ContactUs extends Activity{
private Context CONTEXT;

public CustomEqualizer(Context c){
    this.CONTEXT = c;
    setContentView(R.layout.contactus);
}
}

但问题是在调用onCreate方法之前不会显示布局。 我的问题是如何在没有startActivity的情况下从Home调用ContactUs选项?

1 个答案:

答案 0 :(得分:4)

startActivity()是启动活动的唯一方法。你遇到的问题是你试图在构造函数中调用setContentView(),因为它还没有获得应用程序上下文,所以它无论如何都无法工作。您覆盖onCreate()方法并从那里调用它。

- = update = -

您可以通过将其添加到Intent的捆绑包中来传递活动之间的任何内容。