我試圖建立一個簡單的Android應用程序,每次按下按鈕時都會顯示一個數字,但我無法弄清楚如何解決我不斷收到的「非法表達式啓動」錯誤。表達式的非法開始?
我的代碼:
package com.clicker;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class Clicker extends Activity
{
private int clickerNumber = 0;
private TextView clickerText;
private Button clickerButton;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
clickerText = (TextView)findViewById(R.id.clickerText);
final Button clickerButton = (Button)findViewById(R.id.clickerButton);
clickerButton.setOnClickListener(new View.OnClickListener());
{
public void onClick();
{
clickerNumber = clickerNumber++;
clickerText.setText(Integer.toString(clickerNumber));
}
}
}
}
而編譯器輸出:
compile:
[javac] Compiling 2 source files to /home/fraser/Applications/Android/Code/Clicker/bin/classes
[javac] /home/fraser/Applications/Android/Code/Clicker/src/com/clicker/Clicker.java:24: ')' expected
[javac] clickerButton.setOnClickListener(new View.OnClickListener();
[javac] ^
[javac] /home/fraser/Applications/Android/Code/Clicker/src/com/clicker/Clicker.java:26: illegal start of expression
[javac] public void onClick();
[javac] ^
[javac] /home/fraser/Applications/Android/Code/Clicker/src/com/clicker/Clicker.java:26: illegal start of expression
[javac] public void onClick();
[javac] ^
[javac] /home/fraser/Applications/Android/Code/Clicker/src/com/clicker/Clicker.java:26: ';' expected
[javac] public void onClick();
[javac] ^
[javac] /home/fraser/Applications/Android/Code/Clicker/src/com/clicker/Clicker.java:29: ';' expected
[javac] clickerText.setText(Integer.toString(clickerNumber)));
[javac] ^
[javac] 5 errors
更好的是,將支架移到正確的位置,在行的末尾。那樣的話,這個錯誤將是完全明顯的。而且你將擁有標準化和更好的代碼佈局。 – 2010-06-13 17:54:30
「你不能這樣做,因爲clickerNumber必須是最終的。」 對不起,但我不明白你的意思。有人可以解釋嗎? – Fraser 2010-06-13 18:00:25
@Fraser:更新了答案。 – 2010-06-13 18:02:45