我刚刚开始使用Android,正在通过一本食谱并尝试代码。我的问题是,每次我尝试使用setOnClickListener时,我都会遇到两个语法错误;一个在上面,代码在哪里,另一个在类的末尾。我已经完全从书中复制了代码但仍然收到错误。我尝试过Google搜索,但似乎没有其他人遇到同样的问题所以我要么做错了,要么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时出现。
我确信我在某处犯了错误,但老实说我看不到它。
非常感谢任何帮助。
感谢。
答案 0 :(得分: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;
}
}