2012年6月27日

The method onClick(View) of type new View.OnClickListener(){} must override a superclass method

最近玩 Android 開發常常碰到這個 error:
The method onClick(View) of type new View.OnClickListener(){} must override a superclass method

錯誤出現在這種地方:

button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
}

google 之後,發現是如果 eclipse 用到 java 1.5 去 compiler 的話,就會出這個錯誤。google 的話,大多會說解決方法是去改 eclipse 設定成 1.6。
Window –> Preferences –> Java –> Compiler

可是我的本來就已經是 1.7,卻還是出錯,最後發現要改 project 設定,覺得這個不太合理,eclipse project 本身沒有預設去參考 workspace setting
project -> properties -> Java Compiler,不要 enable project specific settings,或是直接改指定的 java 版本。