0

わかりましたので、Android アプリケーションのホームページに複数のボタンがあります。

このようにアプリをコーディングしているため、途中で混乱したようです。

protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void aboutus (final View view) {
    setContentView(R.layout.aboutus);
    System.out.println("about us clicked"); 
}

そして、xmlにクリックを入れました。

しかし、「私たちについて」ページでコードを書く必要があることがあります。

私たちについての私のクラスには、次のものがあります

public class AboutUs extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aboutus);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    public void onBackPressed() {
        setContentView(R.layout.activity_main);
    }
}

クリックされているボタンのxmlコードは次のとおりです

<ImageButton
    android:id="@+id/ImageButton01"
    android:layout_width="134dp"
    android:layout_height="97dp"
    android:layout_x="16dp"
    android:layout_y="150dp"
    android:onClick="aboutus"
    android:src="@drawable/aboutus" />

私が書いているコードはそのページで動作しませんか? どうしてか分かりません?誰でも助けることができますか?

ありがとうございました。

4

3 に答える 3

0

setContentViewaboutus メソッドを呼び出すだけではなく、新しいアクティビティを開始するインテントを作成する必要があります。呼び出すと、現在のメイン アクティビティにビューが設定されるだけで、アクティビティ クラスsetContentViewはインスタンス化されません。AboutUsメソッドaboutusは次のようになります。

public void aboutus (final View view)
{   
    Intent intent = new Intent(this, AboutUs.class);
    startActivity(intent);
}
于 2013-10-09T11:11:31.780 に答える
0

setContentView()別の を呼び出すために使用していると思いますActivity。インテントを使用する必要があります

Intent in = new Intent(this,AboutUs.class);
startActivity(in);
于 2013-10-09T11:09:40.457 に答える