使用setOnClickListener时的语法错误(Android)

时间:2012-10-10 16:01:33

标签: java android eclipse onclicklistener

我刚刚开始使用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时出现。

我确信我在某处犯了错误,但老实说我看不到它。

非常感谢任何帮助。

感谢。

1 个答案:

答案 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;
}


}