fc2ブログ

[Android]インタフェースの実装で@Overrideを記述するとエラーになる

Androidアプリ開発の勉強はじめました。

サンプルプログラムをいじっているのだが、Overrideアノテーションがコンパイルエラーになった。
private OnClickListener StartListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        // 略
    }
};
「インタフェースのメソッドを実装(implements)するときは@Overrideを書いちゃダメだよ」とのこと。

ネットで調べたところ、eclipseのコンパイラーレベルを1.6以上にすれば良いらしい。
Window→PreferencesからJava→Compilerと選択してCompiler compliance levelを確認したが、1.7だ。試しに1.6にしても相変わらずエラーになる。

更に調べたところ、プロジェクトのコンパイラーレベルを変更しなければならないことがわかった。
Project→PropertiesからJava Compilerを選択してCompiler compliance levelを確認したら1.5だった。
1.7に変更したところ、Android requires compiler compliance level 5.0 or 6.0. というエラーが。
1.6に変更したら無事にコンパイルできた。
(JDK7だとリリース時にantをリビルトするとか面倒な事が必要らしい。JDK6で開発するかな)

それにしても、「Window→Preferencesからコンパイラーレベルを変えてね」という日本語情報はすぐに見つかったのだが、「Project→Propertiesから変えてね」は英語情報しか見つけられなかった。

とここまで書いてから、念のため「android override エラー」で検索したら、このエントリとほぼ同内容の日本語情報がすぐに見つかった。
でもせっかく書いたから公開する。
スポンサーサイト



コメント

コメントの投稿

非公開コメント

プロフィール

himax64

Author: 南西
30代後半の無職です。
就活もせずダラダラ生きてます。
作ったもの

最新記事
人気記事
検索フォーム
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
RSSリンクの表示
QRコード
QRコード
カウンター