-1

2つのボタンとクリックリスナーを使用して2つの異なるアクティビティを開始しようとしています次のエラーが表示されますこの行に複数のマーカー-構文エラー、「}」を挿入してClassBodyを完了-構文エラー、「;」を挿入 FieldDeclarationを完了するには

  @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.safaricom);



    Button button1 = (Button)findViewById(R.id.button1);
    Button button2 = (Button)findViewById(R.id.button2);

    button1.setOnClickListener(buttonClickListener);
    button2.setOnClickListener(buttonClickListener);
}

private OnClickListener buttonClickListener = new View.OnClickListener() {

     @Override
     public void onClick(View v) {

          switch(v.getId()){

          case R.id.button1: 
               Intent intent = new Intent(this, Second.class);
               this.startActivity(intent);
               break;

          case R.id.button2:
              Intent intent = new Intent(this, SignUp.class);
           this.startActivity(intent);
           break;

          }

     }     
}
4

2 に答える 2

6

最後にA;がありません。

private OnClickListener buttonClickListener = new View.OnClickListener() {

    ...

};
于 2012-09-03T20:47:08.927 に答える
0

ローカル変数の重複を避けるために、おそらくonClickメソッドを変更する必要があります

private OnClickListener buttonClickListener = new View.OnClickListener() {
     @Override
     public void onClick(View v) {
          Intent intent = null;
          switch(v.getId()){
          case R.id.button1: 
               intent = new Intent(this, Second.class);
               break;
          case R.id.button2:
               intent = new Intent(this, SignUp.class);
               break;
          }
          if (intent != null)
              this.startActivity(intent);
     }     
};

スイッチ内で変数を宣言する場合、どの場合でもそれを宣言するかどうかは関係ありません。それは常にスイッチ内にあります。これが、ブレークを使用する必要がある理由です。他のコード行を実行したくない場合。あなたはスイッチの中にいるかどうか。

于 2012-09-04T00:09:37.587 に答える