在我的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选项?
答案 0 :(得分:4)
startActivity()
是启动活动的唯一方法。你遇到的问题是你试图在构造函数中调用setContentView()
,因为它还没有获得应用程序上下文,所以它无论如何都无法工作。您覆盖onCreate()
方法并从那里调用它。
- = update = -
您可以通过将其添加到Intent的捆绑包中来传递活动之间的任何内容。