1

私はAndroidを使い始めたばかりで、クックブックを読み進めてコードを試しています。私の問題は、setOnClickListenerを使用しようとするたびに、2つの構文エラーが発生することです。1つはコードが進む場所の上にあり、もう1つはクラスの最後にあります。本から正確にコードをコピーしましたが、それでもエラーが発生します。私はグーグル検索を試しましたが、他の誰も同じ問題を抱えていないようですので、私は何か間違ったことをしている、またはEclipseにバグがあります。

package com.example.tes;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

Button startButton = (Button) findViewById(R.id.trigger);


startButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
}
});

}

エラーは21行目に表示されます-" Syntax error on token "}", delete this token"および" Syntax error, insert "}" to complete ClassBody"。「startButton.setOnClickListener」コードのみを追加してもエラーは発生せず、onClickListenerを設定しようとした場合にのみエラーが表示されます。

どこかで間違いを犯したことは確かですが、正直なところわかりません。

どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

7

コードがどこにも浮かんでおらず、メソッド内にないため、エラーが発生します。使用してみてください:

public class MainActivity extends Activity {

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

    Button startButton = (Button) findViewById(R.id.trigger);

    startButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}


}
于 2012-10-10T16:05:13.920 に答える