-1

私の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なしでホームからContactUsオプションを呼び出すにはどうすればよいですか?

4

1 に答える 1

4

startActivity()アクティビティを開始する唯一の方法です。あなたが抱えている問題はsetContentView()、コンストラクターを呼び出そうとしていることです。コンストラクターはまだアプリケーションコンテキストを取得していないため、とにかく機能しません。メソッドをオーバーライドしonCreate()て、そこから呼び出します。

-=更新=-

インテントのバンドルに追加することで、アクティビティ間で必要なものを渡すことができます。

于 2012-05-16T20:45:20.553 に答える