1. ホーム
  2. java

[解決済み] Eclipseにプロジェクトをインポートした後に「Must Override a Superclass Method」エラーが発生する。

2022-03-17 09:06:56

質問

Eclipseを再インストールしたり、プロジェクトの場所を変更したりした場合、いつでもEclipseにプロジェクトを再インポートしなければならないのですが。 ほとんどすべての のオーバーライドされたメソッドが正しくフォーマットされないため、エラーが発生します。

このメソッドは、スーパークラスのメソッドをオーバーライドする必要があります。

特筆すべきは、Androidのプロジェクトで、何らかの理由でメソッドの引数の値が常に入力されていないため、自分で手動で入力する必要があることです。例えば

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

は、初期状態ではこのように入力されます。

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

変なのは、コードを削除してEclipseで自動的にメソッドを再作成すると、すでに持っていたのと同じ引数名が使われることです。

これは、私のオーバーライドされたメソッドをすべて手作業で再作成しなければならない、かなりの苦痛となります。なぜこのようなことが起こるのか、どのように修正するのか、説明できる人がいれば教えてください。私は非常に幸せになります。

もしかしたら、他のメソッドの引数の中にあるメソッドをフォーマットしているのが原因かもしれませんね。

解決方法は?

Eclipse のデフォルトが Java 1.5 で、インターフェースメソッド(Java 1.6 では @Override しかし、Java 1.5 では、スーパークラスのメソッドをオーバーライドするメソッドにのみ適用されます)。

プロジェクト/IDE環境設定で、Javaコンパイラーレベルを1.6に設定し、Eclipseからプログラムを実行するためにJRE 1.6を選択していることも確認してください。