1

我刚刚开始使用 Android,并且正在阅读一本食谱并尝试代码。我的问题是每次尝试使用 setOnClickListener 时都会出现两个语法错误;一个在代码所在的位置上方,另一个在课程的末尾。我已经从书中完全复制了代码,但仍然出现错误。我试过谷歌搜索,但似乎没有其他人有同样的问题,所以我要么做错了,要么 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 回答