0

開始ボタンと終了ボタンのあるレイアウトに接続された MainActivity というクラスを持つ Android プロジェクトを作成しようとしています。開始ボタンは、キャンバスを呼び出す別のクラスを呼び出すコードを実行することになっていますが、インテントで呼び出すと常にエラーが発生します。

public class MainActivity extends Activity {

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

public void startbtn(View v){
    Intent i=new Intent(v.getContext(),CanvasCall.class);
    startActivity(i);
}

このコードを持つ CanvasCall を呼び出すことになっています:

public class CanvasCall extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new MyCanvas2(this));
}   }

ただし、スタートボタンを押すと強制終了します。アプリの起動時に CanvasCall をアクティビティに設定してもエラーにはなりませんが、ユーザーが「開始」と「終了」を選択できるようにする必要があります。助けていただければ幸いです。ありがとう!

4

1 に答える 1

0

onClick 属性を使用するのが最善か、プログラムで設定するのが最善かについては議論があります。私は後者のオプションを選びます。これは、この質問に関する関連する回答です。

したがって、属性を削除してafteronClickを追加します。onClickListenersetContentView(...)

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    findViewById(R.id.btn_next).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, CanvasCall.class);
                startActivity(i);
            }
        });
}
于 2013-10-08T09:45:53.047 に答える